1. FILE -> NEW -> Target 을 눌러 Today Extension 을 추가한다.
Today Extension 을 추가하면 Activate "---" scheme? 라는 문구가 나오는데
그냥 Activate 누르면 된다
이제 프로젝트를 선택해 Capabilities -> App Groups 를 선택해 ON 으로 한 뒤 그룹을 추가해준다
잘못된 앱 그룹 이름은 아래 v 체크된 항목에 오류메세지를 낼 수 있으니 잘 읽고 따라해야 한다.
ex )"group.data.Extension"
이름 지을때 오류가 계속 나타난다면 group.앱이름 을 넣으면 된다.
만들어졌다면 이제 TARGETS -> Extension App 을 선택하여 위와 동일하게
Capabilities -> App Groups 을 ON 으로 변경한다
앱 그룹 리스트 중에 금방전에 만든 앱이름이 뜰 것이다 선택하자!
여기까지 해서 앱과 Extension을 연결 하였다
이제 코딩으로 들어가 데이터 이동이 되도록 해보자
먼저 ViewController에 "name"이라는 키에 값을 넣는 코딩이다
-ViewController
-------------------------------------------------------------------------------------------
override func viewDidLoad() {
let shareDefaults = UserDefaults(suiteName: "그룹명")
shareDefaults!.set("testApp", forKey:"name")
}
===========================================================================아래코딩은 Extension Widget 에 들어가는 코드이며 저장된 키의 값을 가져온다
-TodayViewController
-------------------------------------------------------------------------------------------
override func viewDidLoad() {
let shareDefaults = UserDefaults(suiteName: "그룹명")
let name = shareDefaults!.object(forKey: "name") as? String
print(name)
}
===========================================================================print를 찍어보면 "testApp" 이라는 값이 출력되는것을 확인 할 수 있다
라벨이나 텍스트 필드를 만들어 테스트 해보자
댓글 없음:
댓글 쓰기