Xamarin上周 公布 了其iOS SDK(Xamarin.iO) 8.6版本,这是包含了该公司iOS和Mac统一API(Unified API)的第一个非Beta版本。统一API替代了原有的32位MonoTouch和MonoMac API,让跨平台的代码重用成为可能并且增加了64位支持。这一版本的发布比苹果要求的新应用提交必须兼容64位的最后期限(2月1日)只早了两周。
Xamarin的移动开发平台让使用C#开发可以跨平台的原生移动应用成为可能。该公司已经利用开源的Mono工具链创建了能够同时兼容iOS和安卓的运行时环境。在iOS平台上,预编译器(Ahead-of-Time Compiler)将C#代码编译成原生的ARM汇编代码。在安卓平台上,C#代码则被编译成为一种中间代码,之后会在设备上完成即时(Just-in-Time)编译。这样,开发者就可以只编写一次应用,然后可以同时在iOS,安卓和Windows Phone上执行。
新的统一API与经典的MonoTouch API并非差异很大,不过Xamarin做出了两个重大的改变以帮助跨平台的代码重用和64位兼容性。
为了使用统一API而想要更新应用的开发者可以手动完成这项工作,也可以利用Xamarin的迁移工具。作为其中一部分与Xamarin Studio 5.7一同分发的迁移工具可以自动更新所需要的项目设置和API引用。或者开发者也可以选择根据 更新已有iOS应用 指南中的步骤手动迁移应用。在上周早些时候的一个网络研讨会上,针对两种方法Xamarin都提供了额外的信息,在Xamarin的博客上可以找到这次研讨会的 录音 。
InfoQ在2014年12月曾经报道过,Xamarin已经分发了若干个统一API的Beta版本给第三方库和组件的开发者,鼓励他们更新项目。不过,并不是所有的第三方组件都将会被更新。为了应对这一问题,开发者也许不得不将这些组件的代码作为其项目构建的一部分迁移并编译。
使用新的统一API,开发者将首次实现64位兼容的iOS和Mac应用的编译。这对于正在进行新的iOS应用开发的开发者来说相当有意义,根据苹果在10月份的公告,在2015年2月1日,所有新的iOS应用必须要做到64位兼容。对于已经发布到应用商店的应用开发者来说,时间会更加宽松一些,只要在2015年6月1日之前完成更新兼容64位即可。
查看英文原文: Xamarin Releases Unified iOS/Mac API with 64-Bit Support