次の方法で共有


Xamarin での watchOS 設定の操作

Apple Watch アプリでは、iOS アプリと同じ設定機能を使用できます。設定のユーザー インターフェイスは Apple Watch は iPhone アプリに表示されますが、iPhone アプリとウォッチ拡張機能の両方で値にアクセスできます。

Apple Watch アプリでは、iOS アプリと同じ設定機能を使用できます

設定は、iOS アプリとウォッチ アプリ拡張機能の両方からアクセスできる共有ファイルの場所に格納されます。これは、アプリ グループによって定義されます。 次の手順に従って、設定を追加する前にアプリ グループを構成する必要があります。

ウォッチ ソリューションに設定を追加する

ソリューション内の iPhone アプリ (ウォッチ アプリや拡張機能ではない) で:

  1. [追加] > [新しいファイル...] を右クリックし、[Settings.bundle] を選択します ([新しいファイル] ダイアログボックスで名前を編集することはできません):

    新しい設定バンドルを追加する

  2. 名前を Settings-Watch.bundle に変更します (名前を変更するには、コマンド + R を選択して入力します):

    バンドルの名前を変更する

  3. Root.plist に新しいキー ApplicationGroupContainerIdentifier を追加し、その値を構成したアプリ グループに設定します (例: サンプルの group.com.xamarin.WatchSettings):

    ApplicationGroupContainerIdentifier キーを Root.plist に追加する

  4. Settings-Watch.bundle/Root.plist を編集して、使用するオプションを含めます。テンプレート ファイルにはグループが含まれています。 テキストフィールド、スイッチとスライダーをデフォルトで切り替えます (削除して独自の設定に置き換えることができます):

Settings-Watch.bundle/Root.plist を編集する

ウォッチ アプリで設定を使用する

ユーザーが選択した値にアクセスするには、アプリ グループを使用して NSUserDefaults インスタンスを作成し、NSUserDefaultsType.SuiteName を指定します:

NSUserDefaults shared = new NSUserDefaults(
    "group.com.xamarin.WatchSettings",
    NSUserDefaultsType.SuiteName);

var isEnabled = shared.BoolForKey ("enabled_preference");
var userName = shared.StringForKey ("name_preference");

Apple Watch アプリ

iPhone の新しい Apple Watch アプリ

ユーザーは、iPhone の新しい Apple Watch アプリを使用して設定を操作します。 このアプリを使用すると、ユーザーは時計のアプリを表示/非表示にし、Settings-Watch.bundle を使用して公開されている設定を編集できます。

アプリの WatchKitSettings を示すスクリーンショット。 アプリの WatchTodo を示すスクリーンショット。