成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS8到iOS 9 變化筆記

移動開發 iOS
iOS9和OS X El Capitan的一個新特性,App Transport Security 的目地是提高Apple 操作系統的安全性以及在此操作系統上運行的任何應用的安全性。ATS是蘋果針對與 NSURL這一層做的封裝,iOS9后ATS默認是開啟的,即網絡傳輸需要使用HTTPS。如果想在iOS9后繼續使用HTTP的話,有兩條路可以走:

[[150713]]

這里將介紹下我們日常開發一些從iOS8過度到iOS9給我們帶來的一些變化,及解決方法。

 

信息收集

 

language:zh-Hans(iOS8) ——> zh-Hans-CN(iOS9)

 

所有的進程列表都獲取不到了

 

App Transport Security

 

iOS9和OS X El Capitan的一個新特性,App Transport Security 的目地是提高Apple 操作系統的安全性以及在此操作系統上運行的任何應用的安全性。ATS是蘋果針對與 NSURL這一層做的封裝,iOS9后ATS默認是開啟的,即網絡傳輸需要使用HTTPS。如果想在iOS9后繼續使用HTTP的話,有兩條路可以走:

在Info.plist中添加 NSAppTransportSecurity類型Dictionary,在NSAppTransportSecurity下添加NSAllowsArbitraryLoads,Boolean 為 YES。

直接使用CFNetwork做網絡請求,ASIHTTPRequest就是基于CFNetwotk做的封裝,如果有需求的同學可以看看ASI里面的源碼,如果某個時間段你又想要使用HTTPS的話,ASI對SSL/TSL的證書驗證有點問題,證書驗證還得自己封裝一下才行。剛才我說道,ATS是蘋果針對與NSURL這一層做的封裝,所以我們使用CFNetwork或者更底層做網絡請求的話是不受ATS限制的。

移除了discoveryd DNS解析服務

iPhone升級到iOS8后WiFi有時候會有問題,特別是Mac升級到OS X Yosemite后,時而電腦休眠喚醒唬就連不上WiFi,有時候還突然掉線,經常要手動去關閉WiFi在重新連接,這是因為蘋果到了OS X Yosemite系統后,把之前的mDNSResponder換成了discoveryd DNS。iOS9和OS X Yosemite10.4后mDNSResponder又回來了。

mDNSResponder: 蘋果以前一直使用控制DNS和Bonjour服務的一種進程。

 

discoveryd:OS X Yosemite后蘋果新出的一種進程。

 

App Thinning

 

App Thinning是一個關于節省iOS設備存儲空間的功能,它可以讓iOS設備在安裝、更新及運行App等場景中僅下載所需的資源,減少App的占用空間,從而節省設備的存儲空間。

 

App Thinning主要有三個機制:

 

Slicing: 開發者把App安裝包上傳到AppStore后,Apple服務會自動對安裝包切割為不同的應用變體(App variant), 當用戶下載安裝包時,系統會根據設備型號下載安裝對應的單個應用變體。

On-Demand Resources: ORD(隨需資源)是指開發者對資源添加標簽上傳后,系統會根據App運行的情況,動態下載并加載所需資源,而在存儲空間不足時,自動刪除這類資源。

Bitcode:開啟Bitcode編譯后,可以使得開發者上傳App時只需上傳Intermediate Representation(中間件),而非最終的可執行二進制文件。 在用戶下載App之前,AppStore會自動編譯中間件,產生設備所需的執行文件供用戶下載安裝。

其中,Bitcode的機制可以支持動態的進行App Slicing,而對于Apple未來進行硬件升級的措施,此機制可以保證在開發者不重新發布版本的情況下而兼容新的設備。Xcode7默認是開始了Bitcode,如果不想使用可以手動關閉Bitcode:

選擇項目——>點擊Target——>點擊Build Setttings——>搜索欄里搜bitcode——>把Enable Bitcode對應的Yes改成No。

啟用Bitcode編譯機制,需要注意以下幾點:

如果應用開啟Bitcode,那么其集成的其他第三方庫也需要是Bitcode編譯的包才能真正進行Bitcode編譯

開啟Bitcode編譯后,編譯產生的.app體積會變大(中間代碼,不是用戶下載的包),且.dSYM文件不能用來崩潰日志的符號化(用戶下載的包是Apple服務重新編譯產生的,有產生新的符號文件),使用dSYM來收集Crash日志的同學得注意了。

通過Archive方式上傳AppStore的包,可以在Xcode的Organizer工具中下載對應安裝包的新的符號文件

后臺定位

iOS9后蘋果為了對保障用戶的地理位置的隱私對App請求后臺定位有了權限設置,則需要多加一些代碼。如果不適配iOS9,就不能偷偷在后臺定位,如果沒有后臺定位的權限也是可以在后臺定位的,只是會出現藍條。

開啟后臺定位功能:locationManager.allowsBackgroundLocationUpdates = YES;

 

locationManager是CLLocationManager的對象,用來管理整個定位的。

 

重點:

配置info.plist,添加一個Required background modes,Array類型的,然后在Required background modes里面Item 0對應的Value設置為App registers for location updates,這樣就解決了iOS9后臺定位出現藍條的問題了。

UI Testing

Xcode7中蘋果引入了一種新的方式在應用中進行測試——UI Testting,UI Testting允許我們找到UI元素與之交互,還能檢查屬性和狀態。UI Testting已經完全集成進了Xcode7的測試報告,可以和單元測試一起執行。使用起來跟之前Xcode5出來的XCTest差不多,Xcode bots提供對此的支持,而且command line支持當UI測試失敗時會立即發出通知。

可以參考Github上的Demo,步驟:

在DemoTests.m里創建一個test開頭的方法

在setUp()里啟動應用 XCUIApplication().launch()

新建一個方法test開頭的,在里面獲取應用let app = XCUIApplication()

的到let app = XCUIApplication(),app.buttons[“View Detail”].tap()?。buttons是當前這個界面的所有按鈕的集合,[]里面寫按鈕的名字,tap()就是執行這個按鈕所對應的方法,可以是網絡請求、界面跳轉等等。

URL scheme

在iOS9中,如果使用URL scheme必須在"Info.plist"中將你要在外部調用的URL scheme列為白名單,否則不能使用。

配置info.plist,添加一個LSApplicationQueriesSchemes,Array類型的,然后在LSApplicationQueriesSchemes的Item里面添加urlscheme就行了,urlscheme是任意一個字符串,就是你自己需要使用的urlscheme,iOS9 URL scheme白名單適配就完成了。

 

出現大量的警告

 

Xcode7后運行以前的項目后出現大量的警告如:

(null): warning: /var/folders/p4/z7zy68r92hd3p5ry5g2v3k_8rlwzzr/C/org.llvm.clang.dalmo/ModuleCache/1TXZDLI9N2EMV/Foundation-3DFYNEBRQSXST.pcm: No such file or directory。

作為一個有潔癖的我反正是不能忍,出現警告的大致原因跟我上面提到的開啟Bitcode,.dSYM文件不能用來符號化有關,Xcode試圖去創建dSYM文件,但是你又不需要。

 

解決方法

 

Build Settings ——>Build Options——>Debug Information Format

Debug下的DWARF with dsYM File改成DWARF

Release下的還是之前默認的DWARF with dsYM File不變

 

 

責任編輯:chenqingxiang 來源: 潘柏信
相關推薦

2014-09-23 10:48:06

iOS8iPhone 6

2015-09-17 09:57:36

iOS 9外媒新特性

2015-02-04 10:26:09

iOS 8Android

2015-02-04 12:13:20

iOS 8Android

2015-01-04 09:55:33

iOS 8蘋果被告

2015-07-02 17:32:28

iOS 9蘋果

2014-10-17 11:02:53

2014-09-29 10:08:34

2015-10-29 11:13:23

iOS9使用框

2014-07-18 10:24:42

同步助手IOS8iPhone 6

2014-07-29 09:41:02

同步助手iOS8

2014-06-03 09:53:21

WWDC2014iOS 8亮點

2014-06-06 13:42:26

iOS 8QR CodeWWDC2014

2015-09-24 14:38:30

2014-09-28 14:03:18

Cocos 2d-JSIOS

2015-07-02 16:25:09

iOS 9UIStackView

2014-08-05 10:02:50

iOS 8

2014-12-31 15:26:57

iOS8iMessageswift

2015-02-11 15:40:40

XY蘋果助手iOS9

2015-02-11 10:16:00

iOS 8.3
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美11一13sex性hd | 国产精品久久久久久久久久三级 | 欧美日韩国产精品 | 日韩在线 | 亚洲九色| 亚洲欧洲一区二区 | 亚洲福利一区 | 成人不卡视频 | 91极品视频 | 国产一级影片 | 亚洲一区在线播放 | 国产精品国产成人国产三级 | 亚洲视频免费播放 | 国产三级大片 | 亚洲免费在线观看 | 国产精品污www一区二区三区 | 热re99久久精品国产99热 | 黄色网址在线免费观看 | 天天操天天干天天曰 | 亚洲视频 欧美视频 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 久久久精品视 | 国产精品国产三级国产aⅴ中文 | 国产精品久久久久久久久免费樱桃 | 久久综合亚洲 | 国产亚洲成av人在线观看导航 | 亚洲国产一区二区三区 | 日韩在线不卡视频 | 国产日韩欧美精品一区二区三区 | 涩涩视频在线看 | 亚洲精品一区二区 | 欧美人妇做爰xxxⅹ性高电影 | 国产精品一区二区免费 | 国产在线一区二区 | av二区三区 | 欧美亚洲视频 | 91视频久久久久 | 国产一区二区三区四区在线观看 | 国产精品美女久久久久久久网站 | 国产资源在线视频 | 欧美成人a |