
앱을 만들 때 userDefaults에 중요한 값을 저장하게 되는데 UserDefaults.standard.set(true, forKey: "isPopup") 이러한 방식으로 set을 하고 let isPopup: Bool = UserDefaults.standard.bool(forKey: "isPopup") // true 이런 식으로 불러서 값을 사용하게 됩니다. 이런식으로 사용하다보면 UserDefaults를 각각 파일에서 선언해서 사용하게 되면 분산되어 버리기때문에 관리가 힘들게되고 추적이 어려운 이슈가 생기게 됩니다. 위 이슈를 해결하기 위해 모을 수 있는 공간을 만들고 그 장소에 enum 을 선언하고 저장 프로퍼티를 이용해서 관리를 했었습니다. // 예시 입니다. enum Key: String { ..

앱에서 Widget이나 NotificationCenter 등 앱 외에 번들을 추가하게 되면 메인 앱에 있는 데이터를 필요로 할때가 있습니다. App 과 extension으로 추가한 번들간에 데이터 공유 방법을 설명하겠습니다. 앱 프로세스와 extension process는 별도의 프로세스로 동작하기 때문에 두 프로세스가 공유하는 컨테이너가 있어야만 데이터를 공유할수 있습니다. 공유하는 방법(UserDefaluts, CoreData, KeyChain, realm etc)은 여러가지 있지만 UserDefaluts를 이용해 공유하는 방법을 설명해보겠습니다. App > 우측 상단 + > App Groups 추가 * 등록 안되고 프로비저닝 오류 뜰 시 UserDefaults.standard.set("value",..