2

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が返されます。

この問題の解決にご協力ください。

ありがとう

4

2 に答える 2