我将xcode 6项目升级到xcode 7并开始看到警告是针对较新的iOS版本(5.1.1)构建的,而不是链接(5.1)。
如何修复此警告?
答案 0 :(得分:20)
就我而言,产生此警告是因为我的一个XCode子项目的iOS-Deployment-Target比我的基础项目(7.0)更高(7.1)。 如果您使用cococapods,当您在Podfile中指定错误的iOS平台版本时,可能会发生此错误配置。在我的例子中,我在我的Podfile中指定了
platform :ios, '7.1'
然后我将XCode-Project中的Deployment-Target设置为iOS 7.0。将子项目的DeploymentTarget设置为与BaseProject相同的iOS版本可修复此警告。
答案 1 :(得分:10)
更新:似乎用Xcode 7.3(7D175)解决了。我删除了-w标志,警告不再出现。
这似乎是Xcode 7.0和7.1B1中的已知错误(错误号21813082)。
作为临时解决方法,要禁止广泛警告,可以将-w标志添加到构建设置 - >其他链接标志:
我只是将它添加到Debug构建设置中并将以下内容插入到AppDelegate中,就像提醒一样:
#ifdef DEBUG
#warning Linker warnings suppressed (-w in build settings)
#endif
这至少有助于快速发现真实的警告,而不是让构建结果充斥着每个来源的相同警告(在我的情况下出现了150多个警告)。
答案 2 :(得分:7)
答案 3 :(得分:4)
就我而言,我的项目设置为8.4,但所有其他子项目/目标仍然是9.0。似乎是由部署目标不一致引起的。
对于那些使用Cocoapods的人:
确保所有这些都相似。
答案 4 :(得分:1)
尝试在“Linking-> Other Linker Flags”上添加“-w”。
在我使用基本SDK构建的mySDK大于开发目标myProject时,会发生这种情况。
答案 5 :(得分:1)
在我的情况下,项目部分(7.0)中的部署目标与目标部署目标(8.0)不同。因此,检查项目的部署目标,并检查项目中的每个目标是否相同。
答案 6 :(得分:1)
首先在Project下更改iOS部署目标,然后在目标下更改部署目标。删除/Users/yourUser/Library/Developer/Xcode/DerivedData (rm -rf yourProject
处的文件。 Pod再次安装,然后告诉警告。
答案 7 :(得分:0)
在我的情况下,我使用最新的iOS构建了库,但应用程序的部署目标低于此。所以我认为除了将-w添加到其他链接器标志
之外,我无能为力答案 8 :(得分:0)
对于我来说,我在目标中更改了部署目标,而在项目中没有更改 解决问题: -更改了项目和目标上的部署目标,然后我进行了pod更新
答案 9 :(得分:0)
以防万一有人像我一样遭受困惑:我发现我在外部硬盘驱动器上有一个Xcode beta,并且系统正在选择该驱动器上的工具,而不是内部驱动器。 (大概是因为它们是更新的Beta版工具?)...弹出驱动器解决了我的问题!