Xcode 10新构建系统清除问题

时间:2018-09-25 11:39:20

标签: swift build cocoapods xcode10

我最近将Xcode更新为10。默认情况下,启用了“新建系统”。在构建项目时,我注意到我的更改在Simulator上不起作用。当我尝试调试此代码时,Xcode显示正确的更改后的源代码,但是执行的代码是旧的。

当我改回“旧版”构建系统时,一切正常。

有类似经验的人吗?

谢谢

  

这可能是Cocoapods的问题。因为我确实解锁了podfile,并尝试编辑一些代码。

2 个答案:

答案 0 :(得分:0)

您需要执行一些额外的步骤才能最终使其成功编译。 (甚至在Xcode 9上也需要这些额外的步骤。)

Xcode:文件->工作区设置->构建系统:旧版构建系统

Xcode:产品->清洁

旋转可通过不同的仿真器类型进行编译,例如“ iPhone 8”,“ iPhone 8 Plus”等(它们可能会失败也可能不会。)

遵循此步骤,希望您在执行此步骤后能够解决问题

答案 1 :(得分:0)

在Xcode 10中,新的构建系统被默认设置。更新Xcode 10后,您将面临项目的问题。Apple意识到了这些问题,他们在Xcode 10发行说明中提到了这一点。

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes/build_system_release_notes_for_xcode_10

  

已知问题:-   增量构建可能无法为   与项目无关的与源无关的更改,例如资源文件   修改,可能会导致应用无法启动。   (41254808)

     

解决方法:更改同一目标中的源文件以触发   代码签名过程,或执行干净的构建。

     

安装Swift工具链后,Xcode不会立即检测到   工具链。 (31360319)

     

解决方法::关闭并重新打开工作区。

     

新的构建系统不支持按需资源(ODR)。如果   您的项目使用ODR,可以在以下版本中重新启用旧版构建系统   文件>工作区/项目设置。 (31508570)

     

在继承的xcconfig文件中定义了构建设置时   值使用$(继承)或$(),构建设置   编辑器显示该设置的最后分配值,而不是   正确构成的价值。 (28572636)

     

具有多个不同资产目录的目标   构建阶段可能会产生有关“复制输出文件”的错误。   (39810274)

     

解决方法:确保所有资产目录均由同一资产处理   在目标中建立阶段。

     

新的“使用计时汇总”命令没有显示计时   在构建过程中,某些任务会在构建系统中运行。 (39801746)

     

自定义构建系统插件(包括Intel ICC编译器)不是   尚未支持。 (32795438,33286594)

     

解决方法::如果需要,请切换到使用以下版本的旧版构建系统:   文件>项目/工作区设置页。

     

具有复制头的目标构建在编译源之后排序的阶段   构建阶段可能无法构建并发出有关构建的诊断信息   周期。 (39880168)

     

解决方法::在编译之前安排所有复制头构建阶段   源构建阶段。

     

在使用自定义项目的项目上执行xcodebuild clean时   构建位置在派生数据目录之外,并且位置较旧   构建Xcode 10之前生产的产品,Xcode可能报告错误   表示它不会删除不是由新创建的目录   构建系统。 (40427159)

     

解决方法::手动删除构建文件夹。