我们正在使用Travis CI(travis-ci.com)构建一个xcode iOS项目,我们的项目编译时间相当长(本地5分钟,在travis CI上为15分钟)。
为减轻编译时间,我们尝试使用DerivedData
参数xcodebuild
来缓存-derivedDataPath
内容,然后使用travis缓存(https://docs.travis-ci.com/user/caching/)将数据复制回去。
问题在于xcode似乎忽略了此缓存的数据。有人知道强制xcode在-derivedDataPath
内部使用缓存数据的方法吗?
答案 0 :(得分:0)
Apple回答了此解决方案,但我尚未对其进行测试。
Apple开发人员关系12月20日工程具有以下内容 给您的反馈意见:
文件修改时间会导致预期的行为 重建。但是,在Travis-CI中,可能不是修改时间, 而是设备inode更改导致了派生数据 被认为是过时的。尝试设置:
默认写入com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool是
或在xcodebuild命令行上传递它:
IgnoreFileSystemDeviceInodeChanges = 1 xcodebuild…
我们现在正在关闭此错误报告。
如果对分辨率有疑问或意见,请更新 您的错误报告中包含了这些信息,以便我们进行回复。