iPhoneアプリとiWatchアプリを作成しています。iPhone アプリから iWatch アプリにデータを共有したい。両方にアプリ グループを使用し、スーツ名を使用してユーザー デフォルトにデータを保存しています。しかし、iWatch で値を取得しているときは、常に nil です。
3 つのプロビジョニング プロファイルを作成しました。1 つはアプリ用、2 番目はウォッチ キット用、3 番目はウォッチ キット拡張用です。3つとも同じグループ名です。機能からアプリ共有を有効にしましたが、クリックして有効にした正しいグループ名が表示されています。
その後、ViewController.swift(iPhoneアプリ)で
let userDefaults = UserDefaults.standard
userDefaults.addSuite(named: "group.group.com.demo.appgroup")
userDefaults.set("12345", forKey: "isDarkModeEnabled")
userDefaults.synchr
onize()
およびInterfaceController.swift(Watch拡張機能内)
let storageKey = "group.group.com.demo.appgroup"
let userStorage = UserDefaults(suiteName: storageKey)
// Get setting from storage or default
if userStorage?.object(forKey: "isDarkModeEnabled") == nil
{
print("Data is nil")
}
else
{
lblTest.setText(userStorage?.object(forKey: "isDarkModeEnabled") as? String)
}
しかし、データフィンウォッチ拡張機能をフェッチしている間、常にnilが返されます。
この問題の解決にご協力ください。
ありがとう