我正在 iOS 8 beta 上开发自定义键盘,我想告诉用户如果我的自定义键盘未启用,如何在包含应用程序中启用它,有没有办法检测应用程序扩展是否启用?
问问题
2058 次
1 回答
-2
首先让我们设置一些常量以便于彼此理解:
- 包含 app = 安装扩展并保存扩展二进制和目标的应用
- 主机应用程序 = 扩展程序在其中运行的应用程序(另一方)
- extension = 我们现在可以构建到系统范围内使用的任何 iOS8 新组件/模块:自定义键盘、今日小部件、照片编辑效果等等。
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
- URL - 要打开的 URL。
- completionHandler - 打开 URL 时调用的块。
- 这个参数——success——是一个布尔值,表示打开是否成功。
祝你好运!!!
于 2014-06-29T20:51:46.900 回答