3

そのため、WatchOS2 に関する多くのチュートリアルを実行しました。

  1. iPhoneシミュレーターとiWatchシミュレーターの両方からカウンター(ラベル値)を増減できます(両方がアクティブな間)。

  2. iOSアプリが非アクティブ(終了)のとき、watchOS2アプリがアクティブで、watchOS2アプリで値を変更してからiOSアプリを開くと、カウンターのラベルが変化しています。

しかし、その逆はうまくいきません。watchOS2 アプリが非アクティブ (終了) のときに、iOS アプリでラベル カウンターを変更します。次にwatchOS2アプリを開きますが、値は変更されていないか、iOSアプリと同じではありません。

値を変更するには、このメソッドを使用しました

   NSDictionary *dic = @{@"counter":[NSNumber numberWithInt:self.counter]};
   WCSession *session = [WCSession defaultSession];
   NSError *error;
  [session updateApplicationContext:dic error:&error];

このチュートリアルを使用しました。このチュートリアルによると、[session updateApplicationContext:dic error:&error];コンテキスト全体が更新または変更される方法です。そのため、watchOS2 アプリがアクティブになったときに、watchOS2 アプリが終了している間に iOS アプリによって更新された最新のコンテキストをフェッチするべきではありません。

私がしなければならないことを提案してください。単一の解決策が見つからないか、見つかったすべてのチュートリアルが見つかりません。この問題は解決しません。

4

1 に答える 1