Tracy Zhao
Tracy Zhao

Reputation: 173

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

I just upgraded from Xcode 6.4 to Xcode 7GM and am now getting the following warning when running my old project

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.

Upvotes: 17

Views: 10365

Answers (5)

Pavel Alexeev
Pavel Alexeev

Reputation: 6081

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.

Upvotes: 0

PANKAJ VERMA
PANKAJ VERMA

Reputation: 3610

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

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

enter image description here

Upvotes: 7

PhuocLuong
PhuocLuong

Reputation: 739

  • I had a bug when updating xcode to ver 7.3. I had a solution for me. I think it useful!

attack

Upvotes: 10

Lei Zhang
Lei Zhang

Reputation: 634

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.

Upvotes: 22

Fujia
Fujia

Reputation: 1242

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.

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).

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.

Upvotes: 1

Related Questions