FileManager를 통해 저장한 데이터를 Widget에 띄우고 싶어 구현하던 도중 문제가 발생했다.
위젯에서 메인앱의 데이터가 불러와지질 않길래 문제점을 찾아보았다.
문제점
Widget에서 메인 앱의 데이터를 불러올 수 없음
문제 원인
Widget과 메인 앱의 파일 저장 위치가 다름
찾아보니 Widget과 메인앱이 각각의 컨테이너를 사용하기 때문에 경로가 다른 문제가 발생한 것이다.
해결방법
앱 그룹을 사용하여 Widget과 메인 앱의 데이터를 연동한다.
앱 그룹 설정 방법
- 앱 그룹 생성 :
- Xcode의 프로젝트 설정에서 “Signing & Capabilities” 탭을 선택한다.
- “+ Capability” 버튼을 클릭하여 “App Groups”를 추가한다.
- 앱 그룹을 생성하거나 기존의 앱 그룹을 선택한다. 예를 들어 `group.com.example.shared`와 같은 식별자를 사용할 수 있다. - 앱 그룹 활성화:
- 위젯과 메인 앱 모두 동일한 앱 그룹을 사용하도록 설정한다. - 공유 파일 접근:
- 앱 그룹을 통해 공유 디렉토리를 설정하고, 그 경로를 사용하여 파일을 저장하고 읽는다.
정상적으로 데이터가 불러와진다.