嵌入式dylib /框架仅在iOS 8.0及更高版本的架构armv7上受支持

时间:2015-09-11 06:20:47

标签: ios xcode

我刚刚从Xcode 6.4升级到Xcode 7GM,现在在运行旧项目时收到以下警告

embedded dylibs/frameworks are only supported on iOS 8.0 
and later (@rpath/xxxxxx.framework/xxxxxx) for architecture armv7

这个问题只发生在Xcode 7中。但是当我在Xcode 6.4中运行项目时,它从未发生过。

5 个答案:

答案 0 :(得分:22)

我在Xcode 7.1 beta3上遇到了完全相同的问题,我所做的是搜索关键字'IPHONEOS_DEPLOYMENT_TARGET'以确保所有目标都高于8.0。

答案 1 :(得分:10)

  • 将xcode更新为版本7.3时出现错误。我有一个解决方案。我觉得它很有用!

attack

答案 2 :(得分:7)

确保所有TARGET都具有相同的部署目标(已安装的pod或框架)。

例如,在下面的示例中,所有目标(Bolts,FBSDKCoreKit,FBSDKLoginKit .... SingleSignOnPod)必须具有相同的目标(比如7.0)..

enter image description here

答案 3 :(得分:1)

您的部署目标低于8.0,这是支持嵌入式框架的最低iOS版本。如果您在运行7.x的设备上部署应用程序,它将在运行时崩溃。这就是编译器发出此警告的原因。

在Xcode 6.4上没有发生这种情况的原因尚不清楚。当我做同样的事情时(我选择部署目标7.x但使用了嵌入式框架),我自己也会收到警告。

要解决此问题,只需将部署目标提升到8.0或更高。如果确实需要支持7.x,请尝试使用静态库而不是嵌入式框架。

答案 4 :(得分:0)

我的项目中没有任何嵌入式框架,但这个问题是由于Thread Sanitizer打开了。

因此,解决方法是将部署目标提升到iOS 8,然后调试线程问题,然后关闭Thread Sanitizer并恢复iOS 7支持。