XCode 7警告!是为较新的iOS版本(5.1.1)而不是链接(5.1)而构建的

时间:2015-08-28 11:56:06

标签: xcode7

我将xcode 6项目升级到xcode 7并开始看到警告是针对较新的iOS版本(5.1.1)构建的,而不是链接(5.1)。

如何修复此警告?

10 个答案:

答案 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标志添加到构建设置 - >其他链接标志:

  1. 选择您的项目
  2. 选择目标
  3. 选择“构建设置”标签
  4. 向下滚动到“关联”
  5. 修改“其他链接标志”并添加“-w”
  6. 我只是将它添加到Debug构建设置中并将以下内容插入到AppDelegate中,就像提醒一样:​​

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

    这至少有助于快速发现真实的警告,而不是让构建结果充斥着每个来源的相同警告(在我的情况下出现了150多个警告)。

答案 2 :(得分:7)

在我的情况下,我将项目升级到iOS 6,但问题并没有消失。

然后我意识到目标将其覆盖为iOS 5.1.1。我清除了目标设置,警告消失了。

XCode 7.0版(7A220)。

Target settings

答案 3 :(得分:4)

就我而言,我的项目设置为8.4,但所有其他子项目/目标仍然是9.0。似乎是由部署目标不一致引起的。

对于那些使用Cocoapods的人:

  1. 浏览您的Pod项目和目标。
  2. 将所有部署目标更改为您想要的目标。
  3. 确保所有这些都相似。

答案 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版工具?)...弹出驱动器解决了我的问题!