3

watchOS1の場合、時計と電話の間でデータを共有するために利用できるいくつかの限定的ではあるが効率的な方法がありopenParentAppましAppGroupsNSUserDefaults

watchOS2WatchConnectivityフレームワークのリリースにより、openParentApp メソッドは廃止され、AppGroups読み取りNSUserDefaults専用機能に制限されました。ここで、WatchConnectivity はiOS9デバイスでのみサポートされていることに注意してください。

しかし、どういうわけか、AppStore のアプリが、展開ターゲットとしてiOS8を持ちながら、watchOS2用に最適化されていると主張しているのを目にします。

何か不足していますか?データを十分に共有するために利用できる他の方法はありますか?

4

1 に答える 1

2

一部のユーザーは Apple Watch を持っておらず、iOS8 を使用している可能性があります。それらをサポートするために、各ビルド ターゲットごとに各展開ターゲット バージョンを設定できます。

プロジェクト内のこれらのサンプル ターゲットが好きです:

  • iOS アプリ (ターゲット: iOS 8.x、WatchConnectivityオプションとしてフレームワークを設定する必要があります)
  • watchOS 2 アプリ (対象: iOS 9.x & watchOS 2) -> iOS8 ユーザーは watch アプリをインストールできません。
  • watchOS 2 App Exntension (対象: iOS 9.x & watchOS 2)

iOS App Codes では、WatchConnectivity以下のコードで可用性を確認できます。

NSClassFromString(@"WCSession") != nil;

私の知る限り、watchOS 1 アプリも同時に提供できますが、テストはしていません。シミュレーターでテストすることはできず、watchOS1 を搭載した他の Apple Watch を持っていません。

于 2015-10-29T07:16:48.010 に答える