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?
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.
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:
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).
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:
Make sure all of them are similar.
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With