iOS10 相機(jī)相冊等權(quán)限使用iOS9 網(wǎng)絡(luò)請求

http://blog.csdn.net/alenczf/article/details/51291411
iOS9對應(yīng)用通訊安全策略進(jìn)行了升級, 已不再支持http這種不安全的協(xié)議(具體可見網(wǎng)址:What's New in iOS 9.0)
新特性要求App內(nèi)訪問的網(wǎng)絡(luò)必須使用HTTPS
協(xié)議,http是超文本傳輸協(xié)議, 信息采用明文傳輸, 而https則使用SSL加密傳輸協(xié)議進(jìn)行傳輸。但是現(xiàn)在公司的項(xiàng)目使用的是HTTP
協(xié)議,使用私有加密方式保證數(shù)據(jù)安全?,F(xiàn)在也不能馬上改成HTTPS
協(xié)議傳輸。
因此設(shè)置成http訪問在某些情況下是必然的,具體的更改方式有兩種
一是更改Info.plist文件,使用Source Code打開,添加如下代碼:

[objc] view plain copy

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

代表可以進(jìn)行任意的http請求

**方法二:同樣在Info.plist文件里直接添加字典 **
類型NSAppTransportSecurity
為Dictionary
,子字典為NSAllowsArbitraryLoads,類型
為Boolean,
設(shè)置為
YES;

不過上面介紹的方法雖然解決了網(wǎng)絡(luò)訪問的問題,但是蘋果提供的安全保障也被關(guān)閉了。但是按照國內(nèi)的現(xiàn)狀,關(guān)閉這個限制也許是更實(shí)際的做法。至于原因就太多了,第三方SDK(幾乎都是訪問HTTP
),合作伙伴接入(不能要求它們一定要支持HTTPS)。
如果你的App沒有受到這些原因的限制,還是更建議你增加HTTPS
支持,而不是關(guān)閉限制。

出于安全考慮我們提倡使用HTTPS
,https雖然還未普及,但是它的加密比較安全性高,所以比較建議將https設(shè)為優(yōu)先,http設(shè)置為例外訪問,具體如下:

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>qq.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> </dict> <key>sina.com.cn</key> <dict> <key>NSIncludesSubdomains</key> <true/> </dict> </dict> </dict>

根據(jù)自己需要的域名修改, NSIncludeSubdomains 就是包括子域的意思。


<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能訪問相冊</string>

<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能訪問相機(jī)</string>

<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能訪問麥克風(fēng)</string>

<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能訪問位置</string>

<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期間訪問位置</string>

<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始終訪問位置</string>

<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能訪問日歷</string>

<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能訪問提醒事項(xiàng)</string>

<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能訪問運(yùn)動與健身</string>

<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能訪問健康更新 </string>

<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能訪問健康分享</string>

<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能訪問藍(lán)牙</string>

<key>NSAppleMusicUsageDescription</key> <string>App需要您的同意,才能訪問媒體資料庫</string>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容