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 na urządzeniu 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.
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.