32位架构不再支持:Xamarin.Forms iOS应用报错的解决方法
解决Windows版Visual Studio中Xamarin iOS架构设置问题
首先得说清楚:Windows上的Visual Studio本身没法直接修改iOS项目的架构配置,因为这类设置是和Mac构建主机绑定的,你可以通过下面两种方式搞定这个问题:
方法一:借助Mac构建主机修改
如果你有Mac作为构建伙伴,直接在Mac上操作项目:
- 打开你的Xamarin iOS项目,选中iOS项目右键选择「选项」(或者按Command+,快捷键)
- 找到「iOS Build」选项卡,在「架构」下拉菜单里,只勾选
ARM64(针对真机部署);如果是模拟器,就选x86_64 - 保存设置后,回到Windows的VS里同步项目,再修改info.plist的部署目标就不会报错了
方法二:手动编辑iOS项目的.csproj文件
要是暂时没Mac可用,直接改项目文件也能解决:
- 在Windows的VS里,右键iOS项目,选择「卸载项目」
- 右键已卸载的项目,选择「编辑xxx.iOS.csproj」
- 在文件里找到对应配置的PropertyGroup节点,添加或修改架构配置,比如:
把所有Debug/Release、iPhone/iPhoneSimulator对应的PropertyGroup里的<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> <MtouchArch>ARM64</MtouchArch> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <MtouchArch>ARM64</MtouchArch> </PropertyGroup>MtouchArch都设置成ARM64(模拟器可设为x86_64) - 保存文件后,右键项目选择「重新加载项目」
- 这时候再去修改info.plist的部署目标到11.3,就能顺利完成了
额外提一句:iOS 11及以后确实只支持64位架构,所以必须移除32位的ARMv7等架构,只保留ARM64才能符合系统要求。
内容的提问来源于stack exchange,提问作者ispiro
相关产品推荐
相关产品推荐

