티스토리 뷰

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: "데이터 찾을때 쓸 키")

 

어디서 많이 본 것 같죠?

 

처음에 설정하는걸 제외하면 사용법은 비교적 간단한 편인데

처음하시는 분들에게 도움이 될까하고 올려봅니다.

 

오늘도 파이팅입니다.

댓글