Xamarin.iOS 在为 AdHoc/AppStore 构建时会这样做吗?我绑定到许多具有支持模拟器的架构的静态/胖库。是否为 AdHoc/AppStore 剥离了未使用的架构?
问问题
222 次
1 回答
4
简短的回答:是的
长答案:
虽然 Xamarin 的链接器是托管链接器(并且仅适用于托管代码),但从最终的可执行二进制文件中删除了额外的体系结构。这对于 i386 是正确的,但对于仅 ARMv7 的可执行文件删除 ARMv6(从库中)也是如此。
此外,由于您包含很多绑定,因此您可能想要:
在绑定 .dll 上启用托管链接器。这将从 .dll 中删除未使用的代码,并且还将优化绑定。
[LinkerSafe]
您可以通过在绑定项目中添加属性轻松地做到这一点;和启用新的静态注册器并包含
SmartLink=true
在您的[LinkWith]
属性中。这使本机链接器能够更好地删除本机代码(如果从绑定 .dll 中删除未使用的代码,这将变得更加容易)。
这两个选项都可以减少您的最终应用程序大小。您可以观看我在Evolve 2013上关于高级 iOS 构建机制的演讲,以了解有关它们的更多详细信息。
于 2013-11-13T18:20:08.510 回答