Xcode 9能否生成x86架构的.ipa文件?当前归档仅输出arm_v7
可以在Xcode 9中生成x86架构的.ipa文件吗?当然可以!
你目前归档只得到arm_v7架构的包,是因为默认的归档流程是针对真机设备配置的,只要调整几个设置就能生成包含x86(准确说是x86_64,iOS模拟器的64位x86架构)的IPA。下面是具体步骤:
1. 调整项目架构配置
- 打开你的Xcode项目,选中项目根节点,再选择对应的Target。
- 切换到
Build Settings标签,在右上角勾选All(避免隐藏关键选项),然后搜索Architectures。 - 将
Architectures设置为Standard Architectures (x86_64, armv7, arm64),或者手动添加x86_64到架构列表中。 - 找到
Valid Architectures选项,确保x86_64也在列表里,如果没有就点击+添加进去。
2. 关闭"仅编译活跃架构"
在Build Settings中搜索Build Active Architecture Only,将Release模式下的这个选项设置为NO。这样Xcode在编译Release版本(归档默认用Release配置)时,会编译所有你指定的架构,而不是只编译当前连接设备的架构。
3. 针对模拟器归档
归档前,先把Xcode顶部的运行目标切换到任意一款iOS模拟器(比如iPhone 8),然后执行Product > Archive。完成归档后,导出的IPA就会包含x86_64架构,适合在模拟器上运行。
可选:用命令行生成(适合自动化场景)
如果需要批量或自动化生成,可以用终端命令:
首先归档模拟器版本:
xcodebuild archive -scheme YourSchemeName -destination 'platform=iOS Simulator,name=iPhone 8' -archivePath ./SimulatorArchive.xcarchive
然后导出IPA:
xcodebuild -exportArchive -archivePath ./SimulatorArchive.xcarchive -exportPath ./SimulatorIPA -exportOptionsPlist ./ExportOptions.plist
注意:ExportOptions.plist需要根据你的需求配置,比如设置method为development或ad-hoc,确保导出配置正确。
⚠️ 重要提醒:如果你的IPA是要提交到App Store,那x86架构是不被允许的,App Store只接受arm系列架构的包。这个方法仅适用于内部测试模拟器运行的场景。
内容的提问来源于stack exchange,提问作者swalkner
相关产品推荐
相关产品推荐

