【问题标题】:How to oppen base application from extension in iOs如何从 iOs 中的扩展打开基础应用程序
【发布时间】:2017-10-30 13:20:41
【问题描述】:

我正在尝试从 iMessage 应用程序打开基本应用程序,这是我的 xcode 项目中的扩展(添加为目标应用程序)。我用[self.extensionContext openURL:url completionHandler::^(BOOL success) {}];

但它不起作用。 这是基础应用程序中的 info.plist

这是 imessages 扩展中的 info.plist

我做错了吗?

【问题讨论】:

    标签: objective-c imessage ios-extensions


    【解决方案1】:

    你可以使用这个功能。

    UIApplication.shared.open(url, options: [:], completionHandler: nil)
    

    但是现在你会得到编译器错误。要修复编译器错误,请执行此操作。在扩展的构建设置中将 Require Only App-Extension-Safe API 设置为 NO

    【讨论】:

    • 你好,我按照你说的做了,它有效,但这正常吗?我的意思是它的扩展,它如何使用 UIApplication 类?另外,它会导致发布版本出现问题吗?
    • 我认为不会有任何问题。
    【解决方案2】:

    其实我找到了正确的答案。我正在使用 MSMessagesAppViewController 的 extensionContext 属性从另一个 viewController 打开基础应用程序,但该 viewController 出现在 rootVC 之上。碰巧rootVC 可以很好地打开url,但其他任何都没有。所以我只是请求我的rootVC使用extensionContext打开url。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2019-10-19
      • 1970-01-01
      相关资源
      最近更新 更多