彩票走势图

移动开发工具Xamarin.iOS 更新至9.8

原创|产品更新|编辑:黄竹雯|2016-02-26 13:31:50.000|阅读 323 次

概述:移动开发工具Xamarin.iOS 更新至9.8,新版本更新了tvOS支持等一系列改进。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

* *典型弃用:* * 随着Xamarin.iOS添加了新的平台,我们开始逐渐摒弃典型(monotouch.dll)的功能。在这个版本中non-NRC(new-ref-count)选项被移除。NRC一直支持所有统一的应用程序(即non-NRC从来不是一个选项)并且没有已知的问题。下一个版本会删除使用Boehm作为垃圾收集器的选项。这也是一个没有统一的应用程序可用的选择。经典支持的完全删除将定于明年秋季伴随着Xamarin.iOS 10.0的发布而执行。

<Xamarin Platform 试用版下载地址>

插播:【重要新闻】微软正式收购跨平台移动开发公司Xamarin

需求:

  • 最新的特性和API需求Xcode 7.2以及捆绑iOS 9.2 SDK
  • Apple Xcode 7.2需要Mac运行OSX 10.10 (Yosemite)或者10.11 (El Capitan)

更新:

tvOS支持

最新的(第4)代AppleTV允许开发者创建并提交应用程序到苹果应用商店。

tvOS通常是iOS 9.x API的一个子集,框架/API不适用于AppleTV平台且弃用的API已被移除。这包括:

  • Accounts.framework
  • AddressBook.framework
  • AddressBookUI.framework
  • AssetsLibrary.framework
  • Contacts.framework
  • ContactsUI.framework
  • CoreAudioKit.framework
  • CoreMIDI.framework
  • CoreMotion.framework
  • CoreTelephony.framework
  • EventKit.framework
  • ExternalAccessory.framework
  • HealthKit.framework
  • HomeKit.framework
  • LocalAuthentication.framework
  • MapKit.framework
  • MessageUI.framework
  • MobileCoreServices.framework
  • MultipeerConnectivity.framework
  • NetworkExtension.framework
  • NewsstandKit.framework
  • Photos.framework
  • PhotosUI.framework
  • PushKit.framework
  • QuickLook.framework
  • ReplayKit.framework
  • SafariServices.framework
  • Social.framework
  • VideoToolbox.framework
  • WatchConnectivity.framework
  • WatchKit.framework
  • WebKit.framework
  • iAd.framework
  • 音频/视频输入/捕获API(例如AVFoundation.framework)
  • 设备定向API(例如UIKit.framework)外加一些框架和类型
  • TVServices.framework
  • TVMLKit.framework
  • GCMicroGamepad *类型

Xamarin.TVOS.dll

Xamarin.iOS 9.8支持最新的稳定的tvOS 9.1 SDK附带苹果的Xcode 7.2。

连同所需的API更改tvOS 几个[Obsolete] API被从新的组装中删除。

以下文档包含一个iOS和tvOS之间API的区别列表。

HttpClient改进

HttpClient类现在可以使用一个本地HTTP引擎,而不是使用Mono的HttpWebRequest。这部分涵盖了你需要注意的细节。

NSUrlSessionHandler

程序集可以引用缓存在LocalApplicationData文件夹中的外部资源而不是在项目结构中。以前,这种缓存只执行于Xamarin的程序集。而从Xamarin.Android 6.1开始,这种缓存将应用于所有程序集,以减少可能需要被下载的资源数量。

当你使用NSUrlSessionHandler时,HttpClient堆栈将使用iOS原生NSURLSession类来执行所有的HTTP操作,而不是使用.NET HttpWebRequest。这有几个好处,其中,安全连接快得多,因为他们使用加密堆栈的本地实现,并支持TLS 1.2是默认启用。开发人员需要知道通过使用这个新的堆栈,iOS 9执法安全服务器连接才会生效。

这是为明显(没有可用的源代码)变化和减少HTTP堆栈所需的代码数量而设计。这样一些非默认的特定于ModernHttpClient的选项不被提供。仍可以从您的应用程序使用ModernHttpClient,因为我们避免了潜在的名称/类型的冲突。

一个通过新NSUrlSessionHandler会删除所有System.Net.WebRequest和HttpClient的用法的应用程序可以减少约850KB (每个架构)的大小,并且受益于本地堆栈的性能提升。

选择默认处理程序

为了更容易地采用特定的处理程序在您的应用程序中通过所有HttpClient使用,Xamarin.iOS现在允许您来设置哪些处理程序应该使用HttpClient。以下选项可用:

  • HttpClientHandler:这是完全托管的HttpClient处理程序,已经附带了先前的Xamarin.iOS。它是与MS .NET和Xamarin的老版本最兼容的 (特性)。然而它运行较慢(如加密)并且在最终的应用程序中需要更多的代码。为确保现有的应用程序的最大兼容性,这是默认的处理程序。
  • CFNetworkHandler:这个处理程序使用原生API(CFNetwork framework)来实现更好的性能和更小的可执行文件。但是它需要iOS6(或更高版本),而且它不可用于watchOS。不是每个HttpClient特性/选项都可用。
  • NSUrlSessionHandler:这个处理程序使用原生API(NSUrlSession) 来实现更好的性能和更小的可执行文件。但是它需要iOS7(或更高版本),并且不支持每个HttpClient功能/选项。

选择默认的HttpClient处理程序可以使用您的IDE (XS or VS)项目选项或通过提供mtouch与命令行参数--http-message-handler=HttpClientHandler,--http-message-handler=CFNetworkHandler或--http-message-handler=NSUrlSessionHandler二选一。

苹果TLS支持

您现在可以选择要使用哪个安全传输层协议(Transport Layer Security,TLS)提供者应用于您的iOS应用程序,例如支持为System.Net.WebRequest和其伙伴提供SSL / TLS支持的SslStream。

默认情况下,您的项目将继续使用支持TLS 1.0的托管的Mono TLS堆栈。这是已装了Xamarin.iOS早期版本的相同的堆栈。

但现在你也可以选择使用支持原生代码(更好的性能)并且支持最新的TLS 1.1和1.2标准的新的苹果TLS堆栈。

选择使用哪个TLS提供者可以使用您的IDE (XS or VS)项目选项或通过提供mtouch与命令行参数--tls-provider=legacy或--tls-provider=appletls二选一。

 

PS: 关于移动开发,这些产品你可以关注>>
关于Xamarin+Microsoft的最新资讯,请<>!

标签:移动开发iOSXamarin

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP