Xcode 7警告!为比链接版本(5.1)更新的iOS版本(5.1.1)构建

Xcode 7警告!为比链接版本(5.1)更新的iOS版本(5.1.1)构建,xcode,xcode7,Xcode,Xcode7,我将Xcode 6项目升级为Xcode 7,并开始看到警告是为比链接版本(5.1)更新的iOS版本(5.1.1)生成的 如何修复此警告?更新:似乎可以通过Xcode 7.3(7D175)解决。我已删除-w标志,警告不再显示。 这似乎是Xcode 7.0和7.1B1中的一个已知错误(错误21813082) 作为一种临时解决方法,为了抑制大量警告,可以将-w标志添加到“生成设置->其他链接器标志”中: 选择您的项目 选择你的目标 选择“构建设置”选项卡 向下滚动至“链接” 编辑“其他链接器标志”并添

我将Xcode 6项目升级为Xcode 7,并开始看到警告是为比链接版本(5.1)更新的iOS版本(5.1.1)生成的


如何修复此警告?

更新:似乎可以通过Xcode 7.3(7D175)解决。我已删除-w标志,警告不再显示。

这似乎是Xcode 7.0和7.1B1中的一个已知错误(错误21813082)

作为一种临时解决方法,为了抑制大量警告,可以将-w标志添加到“生成设置->其他链接器标志”中:

  • 选择您的项目
  • 选择你的目标
  • 选择“构建设置”选项卡
  • 向下滚动至“链接”
  • 编辑“其他链接器标志”并添加“-w”
  • 我只将其添加到调试生成设置中,并将以下内容插入到AppDelegate中,作为提醒:

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

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

    在我的例子中,产生此警告是因为我的一个XCode子项目的iOS部署目标比我的baseproject(7.0)高(7.1)。 如果您使用cococapods,当您在Podfile中指定错误的iOS平台版本时,可能会发生此错误配置。在我的示例中,我在我的pod文件中指定了

    platform :ios, '7.1' 
    

    而我在XCode项目中将部署目标设置为iOS 7.0。将子项目的DeploymentTarget设置为与BaseProject相同的iOS版本可以修复此警告。

    在我的例子中,我将项目升级为iOS 6,但问题没有消失

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

    XCode版本7.0(7A220)


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

    对于正在使用CoCoapod的用户:

  • 浏览你的Pod项目和目标
  • 将所有部署目标更改为所需的目标

  • 确保它们都是相似的。

    在我的例子中,我使用最新的iOS构建了库,但应用程序的部署目标低于此。因此,我认为除了在“链接->其他链接器标志”中添加-w外,我无能为力


    在我的例子中,当mySDK使用大于开发目标myProject的基本SDK构建时会发生这种情况。

    在我的例子中,项目部分(7.0)中的部署目标与目标部署目标(8.0)不同。因此,检查项目的部署目标和项目中的每个目标是否相同

    首先更改Project下的iOS部署目标,然后更改Targets下的部署目标。删除
    /Users/yourUser/Library/Developer/Xcode/DerivedData(rm-rf yourProject
    )中的文件。再次安装Pod,然后对警告说再见。

    我的情况我在目标中更改了部署目标,但在项目中没有更改


    为了解决这个问题,我更改了项目和目标上的部署目标,然后进行pod更新。

    以防有人和我一样困惑:我发现我在一个外部硬盘上有一个Xcode beta版,系统选择了该硬盘上的工具,而不是内部硬盘。(大概是因为它们是较新的测试版工具?)。。。弹出驱动器解决了我的问题

    你能分享苹果臭虫21813082的文字吗?开放式雷达上没有我没有文字,我的作为21813082的副本关闭。这不是一个解决方案,只是没有显示警告:/i我想最好不要实现它,这样您就可以知道与链接器相关的其他可能的重要警告。@MihribanMinaz这就是为什么我将其描述为解决方法,并且只将其添加到调试版本中。对于发布版本,我不使用这个并检查所有警告。对我来说不是。7.3.1链接到iOS补丁版本时,这是Xcode 7.0和7.1的问题。将
    -miphoneos version min=5.1.1
    与链接器一起使用时,它将只考虑版本的主要+次要部分(5.1)。