티스토리 뷰
https://developer.apple.com/documentation/xcode/configuring-app-groups/
Configuring App Groups | Apple Developer Documentation
Enable communication and data sharing between multiple installed apps created by the same developer.
developer.apple.com
안녕하세요.
정말 오랜만에 오류가 아닌 이론 글을 쓰는 것 같네요.
(버그가 아닌게 얼마만인지)
오늘 이야기는 App Groups 입니다!
App Groups 이란
- 동일한 개발자가 만든 여러 개의 설치된 앱 간의 통신 및 데이터를 공유하는 것을 말합니다.
- 주로 위젯을 만들때 메인 앱과의 데이터 공유를 위해 많이 쓰입니다.
- 개발자 계정과 연관되있기 때문에 공식 Developer 에서도 약간의 작업이 필요합니다.
이거와 유사하게 Keychain Sharing 이 있는데
이쪽도 이론은 동일한데 저장 장소가 다른 거라 보시면 될 것 같아요.
(결국 개념은 같기 때문에....)
쓰는 방법은 UserDefault 를 쓴 적 있으신 분이면
누구나 쉽게 다룰수있습니다.
(물론 그전에 설정은 해주셔야 제대로 작동합니다.)
일단 써봅시다.
아무래도 개발자 단위로 데이터를 저장하다 보니 Developer에서 작업을 조금 해주셔야 합니다.
1. Apple Developer 에서 Certificates, Identifiers & Profiles로 이동해주세요.
2. + 버튼을 누르시고 아래쪽에 보시면 App Groups 선택하고 다음으로 넘어가주세요.
3. App Group에 대한 설명과 identifier를 적으라는 칸이 나옵니다.
** 여기서 입력하신 Identifier 를 앱에 등록하는 겁니다 **
프로젝트로 돌아갑시다.
4. Project > Signing & Capabilities 칸으로 이동하시면 + Capability 버튼이 있습니다.
5. 해당 버튼을 누르면 App Group 이라는 항목을 찾아 추가해주세요.
6. App Groups 에 + 버튼을 통해 저희가 아까 만들었던 ID(3번 참고)를 추가하고 선택합니다.
자 이제 사용할 준비가 되었습니다.
*생긴게 비슷하지만 기존 UserDefault랑 별도입니다.
* 기존 UserDefault 랑 AppGroups 는 따로따로 입니다. (공유X)
코드는 생각보다 간단합니다.
* 실제 코드
// 기본 설정
let appGroup = UserDefaults(suiteName: "앱 그룹 이름")
// 저장
appGroup?.setValue("데이터", forKey: "데이터 찾을때 쓸 키")
// 저장된 값 찾기
appGroup?.string(forKey: "데이터 찾을때 쓸 키")
어디서 많이 본 것 같죠?
처음에 설정하는걸 제외하면 사용법은 비교적 간단한 편인데
처음하시는 분들에게 도움이 될까하고 올려봅니다.
오늘도 파이팅입니다.
'iOS개발 > Swift 기본' 카테고리의 다른 글
Swift public / private 외 다른 접근 제어자 (0) | 2024.08.29 |
---|---|
iOS KeyChain 속성 모음 (0) | 2024.07.23 |
iOS 13 미만 AppDelegate / SceneDelegate 설정 (0) | 2024.06.27 |
Swift 생체인식(ex. Face ID) 알아보기 (0) | 2024.04.26 |
Swift 컴파일 조건 추가하기 (#if 사용법과 뜻) (0) | 2024.03.29 |