遇到iOS10適配的坑之一

廢話少說,記錄下,在做iOS適配遇到的坑。
1、漢字字體寬度變成長了。這個就是一個大坑,剛剛更新爲10的時候,打開微信,發現聊天列表都成了…
解決方案:加長控件寬度,iOS10的漢字寬度是:一個漢字17.5,iOS10之前是17.

2、隱私數據訪問問題,如果是xcode8輸出的安裝包,那就坑了,在申請很多私有權限的時候都需要添加描述。
解決方案:
在info.plist添加NSContactsUsageDescription的key, value自己隨意填寫就可以,這裏列舉出對應的key(Source Code模式下):

<!-- 相冊 -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能訪問相冊</string>
<!-- 相機 -->
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能訪問相機</string>
<!-- 麥克風 -->
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能訪問麥克風</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需要您的同意,才能訪問提醒事項</string>
<!-- 運動與健身 -->
<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能訪問運動與健身</string>
<!-- 健康更新 -->
<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能訪問健康更新 </string>
<!-- 健康分享 -->
<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能訪問健康分享</string>
<!-- 藍牙 -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能訪問藍牙</string>
<!-- 媒體資料庫 -->
<key>NSAppleMusicUsageDescription</key>
<string>App需要您的同意,才能訪問媒體資料庫</string>

如果不起作用,可以請求後臺權限,類似於這樣:

<key>UIBackgroundModes</key>
<array>
<!-- 在這裏寫上你在後臺模式下要使用權限對應的key -->
<string>location</string>
...
</array>

後續更新。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章