gpt4 book ai didi

ios - 如何检测在 iOS 8 上的包含应用程序中启用了应用程序扩展?

转载 作者:可可西里 更新时间:2023-11-01 03:35:21 29 4
gpt4 key购买 nike

我正在 iOS 8 beta 上开发自定义键盘,我想告诉用户如果我的自定义键盘未启用,如何在包含应用程序中启用它,是否有任何方法可以检测应用程序扩展是否已启用?

最佳答案

  1. 首先让我们设置一些常量以方便彼此理解:

    • containing app = 安装扩展并保存扩展二进制文件和目标的应用
    • host app = 扩展程序在其中运行的应用程序(另一方)
    • 扩展 = 我们现在可以构建到系统范围内使用的任何 iOS8 新组件/模块:自定义键盘、今天的小部件、照片编辑效果等。
  2. Apple 还发布了一个更安静的 API,称为 App Groups API此 API 允许开发人员将 n 个扩展程序分组到 1 个包标识符下,并在应用程序和其中包含的扩展程序之间创建通信线路。

  3. 您可以使用 NUserDefaults 在扩展程序和包含的应用程序之间共享数据,但使用这个新方法:

    [[NSUserDefaults alloc] initWithSuiteName:@"<app group identifier>"];

    读/写...和同步:

    [myDefaultsObj synchronize];
  4. 现在是底线:

    使用应用组的 url schemes 来测试你想要的:

    https://developer.apple.com/library/prerelease/ios/documentation/Foundation/Reference/NSExtensionContext_Class/#//apple_ref/occ/instm/NSExtensionContext/openURL:completionHandler :

    - (void)openURL:(NSURL *)URL completionHandler:(void (^)(BOOL success))completionHandler
    • URL - 要打开的 URL。
    • completionHandler - 打开 URL 时调用的 block 。
    • 此参数 - success - 是一个 bool 值,指示打开是否成功。

祝你好运!!!

关于ios - 如何检测在 iOS 8 上的包含应用程序中启用了应用程序扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404968/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com