【swift3】userDefautlsを使ってwidgetとアプリ間のデータの受け渡しの方法
userDefaultを使うには、AppGroupsというものを使う必要があります。
【手順1】Apple Member Centerで登録する
まずは、Apple Member Centerに行ってログインをして、左にある、Certificated,IDs &Profilesにいく
次にAppGroup
右上の+ボタンを押して
次に、App Groupの登録。このDescriptionはなんでもいいんじゃないかな。
下のIdentiferのところは、group.co.jp."自分のアプリ名"みたいな感じにするのがいいと思う。
できたら、continueを押して、サイトはもう使わないので閉じちゃおう。
【手順2】AppGroupをOnにする
プロジェクトファイルのCapabilitiesを選択する。
AppGroupをOnにする
【手順3】 UserDefaults.init(suiteName: "group.co.jp.test") を設定する
あとは、上のように、userDefaultsを生成するときに、
let userDefaults = UserDefaults.standard
の代わりに、
var userDefaults = UserDefaults.init(suiteName: "group.co.jp.test")
をWidgetのViewControllerの中と、使いたいアプリのビューコントローラーに書けばいける。
・注意点。Optional型になってしまうので、userDefautls?.set(〜
のように、?を入れる。
まとめ
思ってた以上にややこしかったけど、ぜひ参考にしてみてください