Praca z aplikacją nadrzędną systemu watchOS na platformie Xamarin

Istnieją różne sposoby komunikowania się między aplikacją zegarka a aplikacją systemu iOS, z którą jest ona dołączona:

  • Aplikacje do obejrzenia mogą uruchamiać kod w aplikacji nadrzędnej w aplikacji i Telefon.

  • Rozszerzenia do obejrzenia mogą udostępniać lokalizację przechowywania aplikacji nadrzędnej i Telefon.

  • Przekazywanie danych z powiadomienia do aplikacji zegarka umożliwia wysłanie użytkownika do określonego kontrolera interfejsu w aplikacji.

Aplikacja nadrzędna jest również czasami nazywana aplikacją kontenera.

Uruchamianie kodu

W tych dwóch przykładach pokazano, jak używać WCSession do uruchamiania kodu i wysyłania komunikatów między aplikacją zegarka a sparowaną aplikacją i Telefon:

Magazyn udostępniony

Jeśli skonfigurujesz grupę aplikacji, rozszerzenia systemu iOS 8 (w tym rozszerzenia zegarka) mogą udostępniać dane aplikacji nadrzędnej.

NSUserDefaults

Poniższy kod można napisać zarówno w rozszerzeniu aplikacji zegarka, jak i w aplikacji nadrzędnej i Telefon, aby można było odwoływać się do wspólnego zestawu NSUserDefaults:

NSUserDefaults shared = new NSUserDefaults(
        "group.com.your-company.watchstuff",
        NSUserDefaultsType.SuiteName);

// set values
shared.SetInt (2, "count");
shared.Synchronize ();

// get values
shared.Synchronize ();
var count = shared.IntForKey ("count");

Pliki

Aplikacja systemu iOS i rozszerzenie zegarka mogą również udostępniać pliki przy użyciu wspólnej ścieżki pliku.

var FileManager = new NSFileManager ();
var appGroupContainer =
            FileManager.GetContainerUrl ("group.com.your-company.watchstuff");
var appGroupContainerPath = appGroupContainer.Path;
Console.WriteLine ("agcpath: " + appGroupContainerPath);
// use the path to create and update files

Uwaga: jeśli ścieżka to null sprawdź konfigurację grupy aplikacji, aby upewnić się, że profile aprowizacji zostały poprawnie skonfigurowane i zostały pobrane/zainstalowane na komputerze dewelopera.

Aby uzyskać więcej informacji, zobacz dokumentację Możliwości grupy aplikacji.