如何阻止 Xamarin 在启用位码的情况下构建我的应用程序?
How can I stop Xamarin from building my app with bitcode enabled?
在我的 iOS 构建的配置中,没有禁用位码的选项。而在 Xcode 中可以设置 ENABLE_BITCODE=NO
我需要这个,因为我的链接框架不是用位码构建的,现在 Apple 不再允许半位码编译的应用程序。
在您的 iOS 应用程序的 .csproj
中,搜索 PropertyGroup
以获取您需要关闭位代码的发布配置,即:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
在该组中,查看 MtouchEnableBitcode
是否已存在并编辑它,否则添加:
<MtouchEnableBitcode>false</MtouchEnableBitcode>
我可以通过在关闭 </Project>
标记之前立即向 iOS 应用程序项目的 .csproj 文件添加以下行来构建禁用位码的应用程序。
<Target Name="BeforeCodesign">
<Exec Command="$(_SdkDevPath)\Toolchains\XcodeDefault.xctoolchain\usr\bin\bitcode_strip %(_Frameworks.FullPath) -r -o %(_Frameworks.FullPath)" />
</Target>
我和我的团队已经完成了 Vittal Pai 和 SushiHangover 的建议,但我们遇到了另一个错误:
Command
"\Applications\Xcode.app\Contents\Developer\Toolchains\XcodeDefault.xctoolchain\usr/bin\bitcode_strip
PathToOurFrameWorks -r -o PathToOurFrameWorks" ended with code 3
^ 翻译自法语所以请不要咬我太紧:)
我们让它工作的唯一方法是将项目从我们的 GitHub 导入到带有 VS 2017 的 Mac,然后在那里重建它。
该错误在 Windows 版本中仍然存在,但在 Mac 版本中已消失。
在我的 iOS 构建的配置中,没有禁用位码的选项。而在 Xcode 中可以设置 ENABLE_BITCODE=NO
我需要这个,因为我的链接框架不是用位码构建的,现在 Apple 不再允许半位码编译的应用程序。
在您的 iOS 应用程序的 .csproj
中,搜索 PropertyGroup
以获取您需要关闭位代码的发布配置,即:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
在该组中,查看 MtouchEnableBitcode
是否已存在并编辑它,否则添加:
<MtouchEnableBitcode>false</MtouchEnableBitcode>
我可以通过在关闭 </Project>
标记之前立即向 iOS 应用程序项目的 .csproj 文件添加以下行来构建禁用位码的应用程序。
<Target Name="BeforeCodesign">
<Exec Command="$(_SdkDevPath)\Toolchains\XcodeDefault.xctoolchain\usr\bin\bitcode_strip %(_Frameworks.FullPath) -r -o %(_Frameworks.FullPath)" />
</Target>
我和我的团队已经完成了 Vittal Pai 和 SushiHangover 的建议,但我们遇到了另一个错误:
Command "\Applications\Xcode.app\Contents\Developer\Toolchains\XcodeDefault.xctoolchain\usr/bin\bitcode_strip PathToOurFrameWorks -r -o PathToOurFrameWorks" ended with code 3
^ 翻译自法语所以请不要咬我太紧:)
我们让它工作的唯一方法是将项目从我们的 GitHub 导入到带有 VS 2017 的 Mac,然后在那里重建它。
该错误在 Windows 版本中仍然存在,但在 Mac 版本中已消失。