xcode 嵌入式 dylibs/frameworks 仅在 iOS 8.0 及更高版本上支持架构 armv7
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/32516800/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Embedded dylibs/frameworks are only supported on iOS 8.0 and later for architecture armv7
提问by Tracy Zhao
I just upgraded from Xcode 6.4 to Xcode 7GM and am now getting the following warning when running my old project
我刚刚从 Xcode 6.4 升级到 Xcode 7GM,现在在运行我的旧项目时收到以下警告
embedded dylibs/frameworks are only supported on iOS 8.0
and later (@rpath/xxxxxx.framework/xxxxxx) for architecture armv7
This problem only happens in Xcode 7.But when I run the project in Xcode 6.4,it has never happened.
此问题仅在 Xcode 7 中发生。但是当我在 Xcode 6.4 中运行该项目时,它从未发生过。
回答by Lei Zhang
I experience the exact same issue on Xcode 7.1 beta3, and what I do is to search keyword 'IPHONEOS_DEPLOYMENT_TARGET' to make sure all targets above 8.0.
我在 Xcode 7.1 beta3 上遇到了完全相同的问题,我所做的是搜索关键字“IPHONEOS_DEPLOYMENT_TARGET”以确保所有目标都高于 8.0。
回答by PhuocLuong
回答by PANKAJ VERMA
Make sure all your TARGETs has same deployment target(installed pods or framework too) .
确保所有 TARGET 具有相同的部署目标(也已安装 pod 或框架)。
For example in below example all targets (Bolts,FBSDKCoreKit, FBSDKLoginKit .... SingleSignOnPod) must have same target (say 7.0)..
例如,在下面的示例中,所有目标(Bolts、FBSDKCoreKit、FBSDKLoginKit .... SingleSignOnPod)必须具有相同的目标(例如 7.0)。
回答by Fujia
Your deployment target is lower than 8.0, which is the lowest iOS version that supports embedded frameworks. If you deploy the app on a device running 7.x, it would crash at runtime. This is why the compiler gave this warning.
您的部署目标低于 8.0,这是支持嵌入式框架的最低 iOS 版本。如果您在运行 7.x 的设备上部署应用程序,它会在运行时崩溃。这就是编译器给出这个警告的原因。
The reason why this didn't happen on Xcode 6.4 is unknown. I myself dose get the warning when I did the same thing (chose deployment target 7.x but used embedded frameworks).
这在 Xcode 6.4 上没有发生的原因是未知的。我自己在做同样的事情时收到警告(选择部署目标 7.x 但使用嵌入式框架)。
To solve this, just raise the deployment target to 8.0 or above. If you do need to support 7.x, try to use static libraries instead of embedded frameworks.
要解决这个问题,只需将部署目标提高到 8.0 或更高版本即可。如果您确实需要支持 7.x,请尝试使用静态库而不是嵌入式框架。
回答by Pavel Alexeev
I didn't have any embedded frameworks in my project, but this problem was because of the Thread Sanitizer turned on.
我的项目中没有任何嵌入式框架,但这个问题是因为 Thread Sanitizer 打开。
So the workaround was to raise deployment target to iOS 8, then debug threading issues, and then turn Thread Sanitizer off and bring back iOS 7 support.
因此,解决方法是将部署目标提升到 iOS 8,然后调试线程问题,然后关闭 Thread Sanitizer 并恢复对 iOS 7 的支持。