8

これは watchOS 1 では問題ではありませんでしたが、watchOS 2 では watch 拡張機能の値を読み取ることができません。

Apple docsによると、それは可能です。このスレッドの一部の人々によると、それは可能です。このスレッドの Apple 従業員によると、それは可能です。

私が知る限り、すべてを正しく設定しています:

  • I enabled App Groups on both iOS app and watch extension with the same identifier.
  • I added Settings-Watch.bundle to the iOS app and added the ApplicationGroupContainerIdentifier with the same identifier to the plist

When I initialize an NSUserDefaults object with the identifier as the suite name, I cannot read values on the watch extension. I can read them on the iOS app. This happens in simulator and real device.

Please DON'T post an answer about how to do this with Watch Connectivity. It is possible to do this with just Shared App Groups on watchOS 2 without Watch Connectivity, people are able to do it, and here it is straight out of the docs:

watchOS 2 では、WatchKit 拡張機能が設定の値を読み取る場合がありますが、新しい値を書き込むことはできません。watchOS 2 の環境設定は iOS から Apple Watch に転送されますが、行った変更は iOS に送り返されません。

4

3 に答える 3

0

これは、アプリが Apple Watch でネイティブに実行されるようになったためです。これは、設定が同じデバイスに保存されなくなったため、iPhone から設定を取得できないことを意味します。詳細はこちら: watchOS 2 の設定バンドルから値を取得できません

于 2015-09-21T20:31:49.750 に答える
-1

`WCSessions を使用した新しい処理プロセスは、下記のファイルのサンプル Apple アプリ - Lister で確認できます。

https://developer.apple.com/library/ios/samplecode/Lister/Listings/Objective_C_ListerKit__WatchOS__AAPLConnectivityListsController_m.html#//apple_ref/doc/uid/TP40014701-Objective_C_ListerKit__WatchOS__AAPLConnectivityListsController_m-DontLinkElementID_57

また、 https://stackoverflow.com/a/32628105/1640786に記載されている回答は、プロセス全体をより便利にするようです。

于 2015-09-23T23:39:02.437 に答える