我刚刚从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中运行项目时,它从未发生过。
答案 0 :(得分:22)
我在Xcode 7.1 beta3上遇到了完全相同的问题,我所做的是搜索关键字'IPHONEOS_DEPLOYMENT_TARGET'以确保所有目标都高于8.0。
答案 1 :(得分:10)
答案 2 :(得分:7)
确保所有TARGET都具有相同的部署目标(已安装的pod或框架)。
例如,在下面的示例中,所有目标(Bolts,FBSDKCoreKit,FBSDKLoginKit .... SingleSignOnPod)必须具有相同的目标(比如7.0)..
答案 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支持。