Работа с родительским приложением watchOS в Xamarin
Существуют различные способы взаимодействия между приложением наблюдения и приложением iOS, с которым он связан:
Просмотр приложений может выполнять код в родительском приложении на i Телефон.
Расширения watch могут совместно использовать расположение хранилища с родительским приложением i Телефон.
Используйте раздатку для передачи данных из уведомления в приложение наблюдения, отправляя пользователя в определенный контроллер интерфейса в приложении.
Родительское приложение также иногда называется приложением-контейнером.
Общее хранилище
Если вы настроите группу приложений, расширения iOS 8 (включая расширения часов) могут совместно использовать данные с родительским приложением.
NSUserDefaults
Следующий код можно написать как в расширении приложения для часов, так и в родительском приложении i Телефон, чтобы они могли ссылаться на общий набор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");
Файлы
Приложение iOS и расширение просмотра также могут совместно использовать файлы с помощью общего пути к файлам.
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
Примечание. Если путь затем null
проверка конфигурацию группы приложений, чтобы профили подготовки были настроены правильно и были загружены или установлены на компьютере разработки.
Дополнительные сведения см. в документации по возможностям группы приложений .