在 Xamarin 中使用 watchOS 父应用程序
手表应用和与其捆绑的 iOS 应用之间有不同的通信方式:
手表应用可在 iPhone 上的父应用程序上运行代码。
手表扩展可与父 iPhone 应用共享一个存储位置。
使用切换将数据从通知传递到手表应用,将用户发送到应用中的特定接口控制器。
父应用有时也称为容器应用。
共享存储
如果配置一个应用组,则 iOS 8 扩展(包括手表扩展)可与父应用共享数据。
NSUserDefaults
可在手表应用扩展和父 iPhone 应用中编写以下代码,使它们可引用一组常见的 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
,则检查应用组配置以确保预配配置文件已正确配置,并且已在开发计算机上下载/安装。
有关详细信息,请参阅应用组功能文档。