Visual Studio for Mac归档iOS应用报错:配置未指向有效设备咨询
首先得明确核心点:你没法用iPhone Simulator完成App Store发布的归档操作——苹果App Store只接受针对真实iOS设备架构(arm64)的应用包,而模拟器的架构是x86_64(Intel Mac)或适配Mac的arm64,和iOS设备的运行环境不兼容,所以模拟器配置完全不满足发布要求。
不过不用慌,哪怕没有实体iPhone,你依然能完成归档,按以下步骤操作:
选择正确的目标设备:
在Visual Studio for Mac顶部的设备下拉菜单里,别选任何带"Simulator"标识的选项,直接选Generic iOS Device(通用iOS设备)。这个选项就是专门给没有实体设备时,用来做发布归档的。如果找不到这个选项,先打开Xcode确认安装完整,再去Xcode的Preferences -> Locations里,确保Command Line Tools选中了正确的Xcode版本——Visual Studio for Mac依赖Xcode的工具链处理iOS设备相关的构建逻辑。检查项目构建设置:
- 右键项目 →
Options→Build→iOS Build:- 确保Configuration选的是
Release(Debug模式默认针对开发/模拟器,不适合发布)。 - 在
Architectures里,选择Standard Architectures (arm64),取消勾选"Include all architectures"这类选项,保证只编译iOS设备需要的arm64架构。 - 确认Deployment Target设置为苹果支持的iOS版本(比如iOS 15.0及以上),别选仅模拟器兼容的版本。
- 确保Configuration选的是
- 切换到
Code Signing标签页:- 选中Release配置,然后选择对应的App Store发布证书和Provisioning Profile(必须是专门用于App Store分发的,不是开发或Ad Hoc类型的)。如果还没有这些证书,得先去Apple Developer后台创建并下载到本地。
- 右键项目 →
重新尝试归档:
选定Generic iOS Device作为目标,确认配置是Release模式,再执行Build > Archive for Publishing,应该就能正常完成归档了。
要是还是出问题,可以检查Xcode的Window > Devices and Simulators里是否添加过Generic iOS Device,或者重启Visual Studio for Mac和Xcode,确保工具链加载正常。
内容的提问来源于stack exchange,提问作者mjb

