我有一个具有多个构建配置和构建脚本的项目,该项目最近从 Xcode 8 迁移到 Xcode9。它可以从 Xcode 构建并运行良好的模拟器和设备,以及正确存档。但是,当我尝试从命令行构建或存档时,它会成功,但应用程序在打开时崩溃(在模拟器上)或给出错误消息(在设备上打开时)。
要从 Jenkins 持续集成中存档,我正在运行
'xcodebuild -exportArchive -archivePath myApp.xcarchive -exportOptionsPlist ./build/exportArchive.plist -exportPath myApp.ipa'
它创建了一个ipa,但是当我尝试打开ipa时,它给了我这个错误:
“无法安装‘错误读取文件:info.plist’请稍后再试。”
并且应用程序名称本身是“ErrorReadingFile:info.plist”
当我打开导出的 .ipa 文件时,它没有 dSYM 或 info.plist,只有一个带有 .app 的 Products 文件夹,并且 .app 文件完全是空的,除了一些 iPad 图标图像(这应该是一个通用应用程序)。
此外,当我运行命令为模拟器构建和部署时:
xcodebuild -sdk iphonesimulator -configuration Debug -project myApp
xcrun simctl install <whatever device id> myApp.app
xcrun simctl launch <whatever device id> com.whatever.myApp
它成功安装了应用程序,然后在启动后立即崩溃,没有错误代码。这是模拟器崩溃后报告中显示的内容:
线程崩溃:0 异常类型:EXC_CRASH (SIGABRT) 异常代码:0x0000000000000000、0x0000000000000000 异常说明:EXC_CORPSE_NOTIFY 终止原因:DYLD,[0x9]
如何从命令行正确构建/运行/存档?