我有用于自动构建具有两个目标的 iOS 项目的 Jenkins 服务器。使用命令行实用程序构建项目xcodebuild
。
完整的命令是
/usr/bin/xcodebuild -workspace “我们的项目.xcworkspace” -方案“第一个目标” -配置发布 档案 DEVELOPMENT_TEAM=团队代码 -allowProvisioningUpdates
和
/usr/bin/xcodebuild -workspace “我们的项目.xcworkspace” -方案“第二个目标” -配置发布 档案 DEVELOPMENT_TEAM=团队代码 -allowProvisioningUpdates
在我将 Xcode 更新到版本 10 之前,它运行良好。但是每次更新后我都看到错误
错误:面料:Info.plist 错误
无法处理路径 /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/Our_project-xxxx/Build/Intermediates.noindex/ArchiveIntermediates/Our project/BuildProductsPath/Release-iphoneos/First application.app/Info 处的 Info.plist .plist 这可能是时间问题,请确保 Fabric 运行脚本构建阶段是最后一个构建阶段,并且没有其他脚本将我们的 application.app 从 Xcode 生成的位置移动。您还可以添加 '$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)' 作为 Fabric 运行脚本构建阶段的“输入文件”依赖项。
** 存档失败 **
在谷歌搜索和阅读错误描述后,我确实Build phases
在 Xcode 中打开了选项卡并进行了设置(将Run script
项目移动到底部,检查Run script only when installing
并添加$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
到输入文件并删除空Run script
项目)。
现在可以从命令行手动构建 - 似乎问题已解决。甚至 Jenkins 也确实建立了第一个目标!但是 secong 目标没有出现同样的错误。
我确实打开了项目,查看构建阶段选项卡,看到该Run script
项目移到上方并Run script
出现了新的空白。之后我做了实验:设置构建阶段,在 Xcode GUI 中重建项目,然后看到这些阶段再次重新排序。因此,它发生在构建期间或之后。
我该如何修复这个错误?
说,我可以从命令行手动订购构建阶段吗?如果是,我只是在 Jenkins 步骤中追加行。
另外:这个错误只出现在命令行构建中。当我从 Xcode GUI 构建项目时,它总是成功的。