last-Programmer
last-Programmer

Reputation: 1019

Xcode 7 Warning! was built for newer iOS version (5.1.1) than being linked (5.1)

I upgraded Xcode 6 project to Xcode 7 and started seeing the warning was built for newer iOS version (5.1.1) than being linked (5.1).

How to fix this warning?

Upvotes: 27

Views: 32709

Answers (10)

Firas Shrourou
Firas Shrourou

Reputation: 715

I my case I changed the Deployment Target in the targets without changing the same in the project.

To solve the issue, I changed the Deployment Target on both the project and the Targets then I make pod update.

Upvotes: 0

Arthur Ninch
Arthur Ninch

Reputation: 1

Just in case anyone suffers the same bewilderment as myself: I discovered that I had an Xcode beta on an external hard drive and the system was selecting the tools on that drive instead of the internal drive. (Presumably because they were the newer beta tools?)... Ejecting the drive solved my issue!

Upvotes: 0

user3800960
user3800960

Reputation:

First change iOS Deployment Target under Project then change Deployment Target under Targets. Delete file at /Users/yourUser/Library/Developer/Xcode/DerivedData (rm -rf yourProject). Pod install again then say bye to warning.

Upvotes: 1

Carol Capek
Carol Capek

Reputation: 11

In my case the deployment target in the project section (7.0) was different to the target deployment targets (8.0). So check your deployment targets for your project and every single target in your project to be the same.

Upvotes: 1

ihsan_husnul
ihsan_husnul

Reputation: 125

try add "-w" on "Linking->Other Linker Flags".

This happening in my case when mySDK built with base SDK greater than development target myProject.

Upvotes: 4

Qiulang
Qiulang

Reputation: 12405

In my case I built the libraries with latest iOS but the app's deployment target is lower than that. So I think there is nothing I can do except adding -w to other linker flag

Upvotes: 0

Frans
Frans

Reputation: 780

Update: seems to be resolved with Xcode 7.3 (7D175). I've removed the -w flag, the warning no longer appears.

This appears to be a known bug in Xcode 7.0 and 7.1B1 (bug #21813082).

As a temporary workaround, to suppress extensive warnings, the -w flag can be added to Build Settings -> Other Linker Flags:

  1. Select your Project
  2. Select your Target
  3. Select "Build Settings" tab
  4. Scroll down to "Linking"
  5. Edit "Other Linker Flags" and add "-w"

I've only added this to the Debug build settings and inserted the following to the AppDelegate, just as reminder:

#ifdef DEBUG
#warning Linker warnings suppressed (-w in build settings)
#endif

This at least helps to quickly spot the real warnings instead of having the build results flooded with the same warning for every source (in my case 150+ warnings appeared).

Upvotes: 11

Teffi
Teffi

Reputation: 2508

In my case, I had my project set to 8.4 but all the rest of the subprojects/targets are still on 9.0. Appears like it is caused by deployment target inconsistencies.

For those who are using Cocoapods:

  1. Navigate through your Pod projects and targets.
  2. Change all the deployment targets to your desired one.

Make sure all of them are similar.

Upvotes: 5

Matt
Matt

Reputation: 4550

In my case, I upgraded the project to iOS 6, but the problem didn't go away.

Then I realised the target was overriding it as iOS 5.1.1. I cleared the target settings and the warnings went away.

XCode Version 7.0 (7A220).

Target settings

Upvotes: 7

mschwarz
mschwarz

Reputation: 1427

In my case, this warning was produced because the iOS-Deployment-Target of one of my XCode subprojects was higher (7.1) than in my baseproject (7.0). If you use cococapods, this misconfiguration can happen when you specify a wrong iOS platform version in your Podfile. In my example, I specified in my Podfile

platform :ios, '7.1' 

whereas I set the Deployment-Target in my XCode-Project to iOS 7.0. Setting the DeploymentTarget of the Subproject to the same iOS Version as the BaseProject fixes this warning.

Upvotes: 20

Related Questions