我正在使用xcodebuild在模拟器上构建和安装我的应用程序(通过从命令行复制.app
到~/Library/Application Support/iPhone Simulator/6.1/Applications/UUID/
)。我用:
xcodebuild -target MyApp
-configuration Debug
CPU_ARCHITECTURE=iphonesimulator6.1
install DSTROOT=Products
.app是在/project_root/Products/Applications/MyApp.app
生成的。但是,每次我在模拟器上运行.app
时,都会立即崩溃。
我将从Xcode的.app
创建的Run
与上面的xcodebuild输出进行了比较。两个MyApp.app
几乎完全相同,但MyApp
内的MyApp.app
二进制文件不同(Xcode只有内存占用的两倍)。我甚至尝试将二进制文件从Xcode的MyApp.app
复制到xcodebuild
,这也有效。
为什么xcodebuild
的.app崩溃了?
答案 0 :(得分:1)
虽然我的问题没有明确的“回答”我可以标记为正确,但这是我的解决方案,以防万一其他人有同样的问题。理查德的道具指向我正确的方向。我使用VALID_ARCHS
的不同设置,并将其设置为"i386"
(模拟器的架构)。此外,CPU_ARCHITECTURE
的语法错误。 xcodebuild
使用-sdk
选项。以下对我有用:
xcodebuild -target MyApp
-configuration Debug
-sdk iphonesimulator6.1
VALID_ARCHS="i386"
install DSTROOT=Products
答案 1 :(得分:0)
这是我的脚本,它使.app for simulator:
(将“MyApp”替换为您的应用名称)
XCODE_WORKSPACE=/Users/MacBook/iOS/MyApp.xcworkspace
xcrun xcodebuild \
-scheme MyApp \
-workspace $XCODE_WORKSPACE \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 8,OS=11.2' \
-derivedDataPath \
build