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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 07:47:56  来源:igfitidea点击:

Embedded dylibs/frameworks are only supported on iOS 8.0 and later for architecture armv7

iosxcode

提问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

  • I had a bug when updating xcode to ver 7.3. I had a solution for me. I think it useful!
  • 将 xcode 更新到 7.3 版时出现错误。我有一个解决方案。我觉得有用!

attack

攻击

回答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)。

enter image description here

enter image description here

回答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 的支持。