“embedded式dylib /框架只能在iOS 8或更高版本上运行”警告的后果
使用Xcode 6.x,我们可以使用CocoaTouch Framework模板来构build一个框架库,当我们构build时,Xcode将为我们创build.framework,这非常棒。 在我们的框架中,我们希望支持iOS 7.1及更高版本,因此对于Deployment Target(在我们的框架中),我们指定了7.1。 现在,当我们构build时,我们看到一个警告:“embedded式dylib /框架只能在iOS 8或更高版本上运行”。 我已经阅读了一些关于这个主题的博客文章,至于在iOS 7.1上运行它,这个警告可以被忽略,因为它会运行良好(仍然需要testing以确保)。 我所关心的是,我在Stack Overflow上阅读了一篇文章,说苹果可能会在App Store中拒绝一个应用程序(请参阅: iOS8中仅支持Xcode 6和Embedded Frameworks )
它只适用于在Xcode的应用程序链接到它在通用>embedded式库?
我们希望我们的客户链接到我们的框架的方式是:
- 通过CocoaPods
- 通过在构build阶段>链接二进制库中引用.framework
我需要了解App Store在什么情况下会拒绝使用我们的CocoaTouch框架并支持7.x iOS的应用程序。
如果您将框架的types更改为静态,该应用程序将不会被拒绝。 在这里看到我的答案。
我相信,只要应用程序正确处理框架,就不应该有任何问题。 与椰子混合可能是棘手的,老实说,我不知道最好的方法来解决它。
但据我所知,如果一个应用程序支持iOS 7.X – > 8.X并使用embedded的cocoa触摸框架,只要兼容性检查确保应用程序不会在7.X中崩溃,那么应该应用程序被拒绝的任何理由。
我们尝试在以下configuration上运行最新的代码:
iOS 8+ – iPhone 5s iOS 7.1.2 – iPhone 4 iOS 6.1.3 – iPad 4
该应用程序在所有三个设备上工作正常,但编译时在Xcode中存在警告。 “embedded式dylib /框架只能在iOS 8或更高版本上运行”
此外,我试图存档应用程序,以提交到应用程序商店它没有问题。
另外,find了一个苹果开发者指出这是一个错误的链接: https : //devforums.apple.com/message/999579#999579