嵌入式dylibs/框架仅在iOS 8.0和之后的架构armv7中得到支持

时间:2022-01-30 21:36:46

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中运行这个项目时,它从来没有发生过。

5 个解决方案

#1


21  

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以上。

#2


9  

  • I had a bug when updating xcode to ver 7.3. I had a solution for me. I think it useful!
  • 我在将xcode更新为ver 7.3时有一个错误。我有个办法。我认为它有用!

嵌入式dylibs/框架仅在iOS 8.0和之后的架构armv7中得到支持

#3


6  

Make sure all your TARGETs has same deployment target (installed pods or framework too) .

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

For example in below example all targets (Bolts,FBSDKCoreKit, FBSDKLoginKit .... SingleSignOnPod) must have same target (say 7.0)..

例如在以下例子中所有目标(螺栓、FBSDKCoreKit FBSDKLoginKit ....SingleSignOnPod必须有相同的目标(比如7.0)。

嵌入式dylibs/框架仅在iOS 8.0和之后的架构armv7中得到支持

#4


1  

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)。但是使用了嵌入式框架。

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。尝试使用静态库而不是嵌入式框架。

#5


0  

I didn't have any embedded frameworks in my project, but this problem was because of the Thread Sanitizer turned on.

我的项目中没有任何嵌入式框架,但是这个问题是由于线程清理器打开了。

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,然后调试线程问题,然后关闭线程清理程序,恢复iOS 7支持。

#1


21  

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以上。

#2


9  

  • I had a bug when updating xcode to ver 7.3. I had a solution for me. I think it useful!
  • 我在将xcode更新为ver 7.3时有一个错误。我有个办法。我认为它有用!

嵌入式dylibs/框架仅在iOS 8.0和之后的架构armv7中得到支持

#3


6  

Make sure all your TARGETs has same deployment target (installed pods or framework too) .

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

For example in below example all targets (Bolts,FBSDKCoreKit, FBSDKLoginKit .... SingleSignOnPod) must have same target (say 7.0)..

例如在以下例子中所有目标(螺栓、FBSDKCoreKit FBSDKLoginKit ....SingleSignOnPod必须有相同的目标(比如7.0)。

嵌入式dylibs/框架仅在iOS 8.0和之后的架构armv7中得到支持

#4


1  

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)。但是使用了嵌入式框架。

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。尝试使用静态库而不是嵌入式框架。

#5


0  

I didn't have any embedded frameworks in my project, but this problem was because of the Thread Sanitizer turned on.

我的项目中没有任何嵌入式框架,但是这个问题是由于线程清理器打开了。

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,然后调试线程问题,然后关闭线程清理程序,恢复iOS 7支持。