2016年9月7日,蘋果發布iOS 10。2016年9月14日,全新的操作系統iOS 10將正式上線。
作為開發者,如何適配iOS10呢?
1.Notification(通知)
自從Notification被引入之后,蘋果就不斷的更新優化,但這些更新優化只是小打小鬧,直至現在iOS 10開始真正的進行大改重構,這讓開發者也體會到UserNotifications的易用,功能也變得非常強大。
•iOS 9 以前的通知
1.在調用方法時,有些方法讓人很難區分,容易寫錯方法,這讓開發者有時候很苦惱。
2.應用在運行時和非運行時捕獲通知的路徑還不一致。
3.應用在前臺時,是無法直接顯示遠程通知,還需要進一步處理。
4.已經發出的通知是不能更新的,內容發出時是不能改變的,并且只有簡單文本展示方式,擴展性根本不是很好。
•iOS 10 開始的通知
1.所有相關通知被統一到了UserNotifications.framework框架中。
2.增加了撤銷、更新、中途還可以修改通知的內容。
3.通知不在是簡單的文本了,可以加入視頻、圖片,自定義通知的展示等等。
4.iOS 10相對之前的通知來說更加好用易于管理,并且進行了大規模優化,對于開發者來說是一件好事。
5.iOS 10開始對于權限問題進行了優化,申請權限就比較簡單了(本地與遠程通知集成在一個方法中)。
如果使用了推送,修改如圖:
2.ATS的問題
iOS 9中默認非HTTS的網絡是被禁止的,當然我們也可以把NSAllowsArbitraryLoads設置為YES禁用ATS。不過iOS 10從2017年1月1日起蘋果不允許我們通過這個方法跳過ATS,也就是說強制我們用HTTPS,如果不這樣的話提交App可能會被拒絕。但是我們可以通過NSExceptionDomains來針對特定的域名開放HTTP可以容易通過審核。
NSExceptionDomains方式 設置域。可以簡單理解成,把不支持https協議的接口設置成http的接口。
具體方法:
1)、在項目的info.plist中添加一個Key:App Transport Security Settings,類型為字典類型。
2)、然后給它添加一個Exception Domains,類型為字典類型;
3)、把需要的支持的域添加 主站蜘蛛池模板: 凤阳县| 阜宁县| 昭苏县| 通海县| 闸北区| 军事| 巨鹿县| 河池市| 宁强县| 沧州市| 师宗县| 凤翔县| 冀州市| 乌拉特中旗| 泸西县| 龙井市| 鄢陵县| 洛宁县| 衢州市| 大丰市| 五莲县| 霍林郭勒市| 大邑县| 肇东市| 通城县| 深州市| 平舆县| 水富县| 凉山| 舒兰市| 洪雅县| 普洱| 金堂县| 北辰区| 固安县| 隆安县| 莲花县| 越西县| 望都县| 长岛县| 尼勒克县|