Xamarin.iOS链接器删除了用于adhoc的i386

保罗·巴顿

为AdHoc / AppStore进行构建时,Xamarin.iOS是否会这样做?我将绑定到许多静态/脂肪库,这些库具有支持模拟器的体系结构。是否为AdHoc / AppStore剥离了未使用的体系结构?

幸免

简短答案:

长答案:

Xamarin的链接器是托管链接器(并且仅适用于托管代码),多余的体系结构已从最终的可执行二进制文件中删除。对于i386确实如此,但对于仅ARMv7的可执行文件(从库中)删除ARMv6也是如此。

另外,由于要包含很多绑定,因此您可能需要:

  • 在绑定的.dll上启用托管链接器。这将从.dll中删除未使用的代码,并且还将优化绑定。您可以通过[LinkerSafe]在绑定项目中添加属性来轻松实现

  • 启用新的静态注册器并包括SmartLink=true在您的[LinkWith]属性中。这样,本机链接程序就可以更好地删除本机代码(如果从绑定的.dll中删除了未使用的代码,这将变得更加容易)。

这两个选项都可以减小最终应用程序的大小。您可以观看有关高级iOS构建机制的Evolve 2013演讲,以获取有关它们的更多详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章