"Embedded dylibs/frameworks only run on iOS 8 or later"警告的后果



在 Xcode 6.x 中,我们可以使用 CocoaTouch Framework 模板来构建框架库,Xcode 会在我们构建时为我们创建 .framework,这太棒了。在我们的框架中,我们希望支持 iOS 7.1 及更高版本,因此对于部署目标(在我们的框架中),我们指定了 7.1。现在,当我们构建时,我们会看到一个警告:"嵌入式dylibs/框架只能在iOS 8或更高版本上运行"。从那以后,我阅读了许多关于该主题的博客文章,就如何在iOS 7.1上运行它而言,可以忽略此警告,因为它运行良好(仍然需要测试以确保)。我担心的是,我在Stack Overflow上读到一篇文章,其中说Apple可能会在App Store中拒绝应用程序(请参阅:Xcode 6和Embedded Frameworks仅在iOS8中支持)。

它是否仅适用于在 Xcode 中应用程序在常规>嵌入式库中链接到它时?

我们希望客户链接到我们的框架的方式是:

  1. 通过可可豆荚
  2. 通过在构建阶段引用 .framework>将二进制文件与库链接起来

我需要了解在什么情况下App Store会拒绝使用我们的CocoaTouch框架并支持7.x iOS的应用程序。

如果将框架的类型更改为静态,则不会拒绝应用。在这里看到我的答案。

我相信

只要应用程序正确处理框架,就不会有任何问题。与椰子荚混合可能很棘手,老实说,我不知道解决这个问题的最佳方法。

但据我了解,如果一个应用程序支持 iOS 7.X -> 8.X 并使用嵌入式可可触摸框架,只要兼容性检查存在以确保应用程序不会在 7.X 中崩溃,就不应该有任何理由拒绝该应用程序。

我们尝试在以下配置上运行最新代码:

iOS 8+ — iPhone 5siOS 7.1.2 — iPhone 4iOS 6.1.3 — iPad 4

该应用程序在所有三个设备上都运行良好,但是在编译时Xcode中存在警告。"嵌入式 dylibs/框架只能在 iOS 8 或更高版本上运行"

我也尝试存档应用程序,以便将其提交到应用程序商店,它运行良好。

另外,在苹果开发人员中发现了一个链接,该链接表示这是一个错误:https://devforums.apple.com/message/999579#999579

相关内容

最新更新