【发布时间】:2014-06-25 09:29:05
【问题描述】:
我正在 iOS 8 beta 上开发自定义键盘,我想告诉用户如果我的自定义键盘未启用,如何在包含应用程序中启用它,有什么方法可以检测应用程序扩展是否启用?
【问题讨论】:
-
类似(最近的)问题:stackoverflow.com/questions/25675628/…
标签: ios iphone ios8 ios-app-extension
我正在 iOS 8 beta 上开发自定义键盘,我想告诉用户如果我的自定义键盘未启用,如何在包含应用程序中启用它,有什么方法可以检测应用程序扩展是否启用?
【问题讨论】:
标签: ios iphone ios8 ios-app-extension
首先让我们设置一些常量以便于彼此理解:
Apple 还发布了一个更安静的 API,称为 App Groups API 此 API 允许开发人员将 n 个扩展分组到 1 个捆绑标识符下,并在应用和其中包含的扩展之间创建通信线路。
您可以使用 NUserDefaults 在扩展程序和包含应用程序之间共享数据,但使用这种新方法:
[[NSUserDefaults alloc] initWithSuiteName:@"<app group identifier>"];
读/写...和同步:
[myDefaultsObj synchronize];
现在是底线:
使用应用组的 url 方案来测试你想要什么:
- (void)openURL:(NSURL *)URL completionHandler:(void (^)(BOOL success))completionHandler
祝你好运!!!
【讨论】:
[NSExtensionContext openURL:completionHandler:] 对于今天扩展以外的扩展总是会失败