전편 : [iOS] AppGroup을 켜면 어디까지 공유가 될까? - 1
일단 기본적으로, FileManager에 대한 이해가 있어야 함. FileManger에는 다음과 같은 메서드가 있다.
.containerURL(forSecurityApplicationGroupIdentifier: "appgroupName")!
이 메서드를 이용하면 이전에 저장한 곳이 아닌 완전 새로운 곳에 저장된다.
UserDefaults도 마찬가지
UserDefaults(suiteName: "appgroupName")
새로운 곳에 저장하고 워치와 다른 앱에서 접근을 해보도록 하자.
따로 설정을 해줬음에도 데이터가 공유되질 않았다. 아무래도 다른 기기이다 보니 같은 이름이여도 데이터를 찾지 못하는거 같은데, 내심 애플이라면 공유되지 않을까 싶었지만 어림도 없다는걸 알 수 있었다.
다른 앱이여도 같은 기기에서 빌드 했기 때문에 데이터와 Userdefaults, 사진들을 공유할 수 있다는걸 알 수 있다.
두번째 앱에서도 사진을 변경하여도 첫번째 앱에서도 변경이 잘 되는걸 볼 수 있었다.
잘 살아있다는걸 알 수 있었다.
지워진다는걸 알 수 있었다.
Model Configuration에서 groupContainer를 자동으로 automatic으로 설정했기 때문에 공유가 되었다. none으로 설정하게 된다면, 공유를 하지 않게 된다.
Appgroup을 켜준다고 해서 같은 Sandbox를 갖게되는건 아니다.
본인의 Sandbox도 있으면서, Appgroup을 켜준곳 끼리만 접근할 수 있는 하나의 Sandbox에 접근하여 데이터를 공유할 수 있었다.