兼容iOS 10 升級(jí)xcode8出現(xiàn)的問題及一些適配問題的解決方案
1推送
xcode 升級(jí)到8之后很多人的推送接收不到了.獲取不到token了 一朋友搞了一小時(shí)沒找到原因. 只因看下圖吧....我發(fā)覺xcode 我不打開他也能收到通知. 但是到了8(必須打開了才能收到推送) . 貌似不行了 大家對(duì)號(hào)入座吧.
下面普及下ios10跟之前的推送的區(qū)別
•iOS 9 以前的通知
1.在調(diào)用方法時(shí),有些方法讓人很難區(qū)分,容易寫錯(cuò)方法,這讓開發(fā)者有時(shí)候很苦惱。
2.應(yīng)用在運(yùn)行時(shí)和非運(yùn)行時(shí)捕獲通知的路徑還不一致。
3.應(yīng)用在前臺(tái)時(shí),是無(wú)法直接顯示遠(yuǎn)程通知,還需要進(jìn)一步處理。
4.已經(jīng)發(fā)出的通知是不能更新的,內(nèi)容發(fā)出時(shí)是不能改變的,并且只有簡(jiǎn)單文本展示方式,擴(kuò)展性根本不是很好。
•iOS 10 開始的通知
1.所有相關(guān)通知被統(tǒng)一到了UserNotifications.framework框架中。
2.增加了撤銷、更新、中途還可以修改通知的內(nèi)容。
3.通知不在是簡(jiǎn)單的文本了,可以加入視頻、圖片,自定義通知的展示等等。
4.iOS 10相對(duì)之前的通知來(lái)說(shuō)更加好用易于管理,并且進(jìn)行了大規(guī)模優(yōu)化,對(duì)于開發(fā)者來(lái)說(shuō)是一件好事。
5.iOS 10開始對(duì)于權(quán)限問題進(jìn)行了優(yōu)化,申請(qǐng)權(quán)限就比較簡(jiǎn)單了(本地與遠(yuǎn)程通知集成在一個(gè)方法中)。
2 字體適配的問題
ios 9 之前的lab 字體可以顯示全,但是到了ios10 發(fā)覺字體顯示不全了.得適配啊.app 會(huì)跟隨手機(jī)系統(tǒng)字體大小而改變了.
簡(jiǎn)單粗暴地方法就是不讓他跟著手機(jī)系統(tǒng)的字體改變而改變.
label.adjustsFontForContentSizeCategory = YES;
3 xcode 8運(yùn)行打印一堆沒用的東西Xcode 8的問題,解決辦法是設(shè)置OS_ACTIVITY_MODE : disable如下圖:
4 xcode8的注釋快捷鍵注釋不能用了, command+/ 不行了
解決辦法:
因?yàn)樘O果解決xcode ghost。把插件屏蔽了。解決方法
命令運(yùn)行: sudo /usr/libexec/xpccachectl
然后必須重啟電腦后生效
5 顏色問題, iOS 10 蘋果官方建議我們使用sRGB,因?yàn)樗阅芨?,色彩更豐富。
UIColor類中新增了兩個(gè)Api如下:
+ (UIColor *)colorWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha NS_AVAILABLE_IOS(10_0); - (UIColor *)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha NS_AVAILABLE_IOS(10_0);
6 判斷版本問題
建議用 [[UIDevice currentDevice] systemVersion]
swift用
if #available(iOS 10.0, *) { // iOS 10.0啊 print("iOS 10.0"); } else { } ;
7 https的問題
iOS 9中默認(rèn)非HTTS的網(wǎng)絡(luò)是被禁止的,當(dāng)然我們也可以把NSAllowsArbitraryLoads設(shè)置為YES禁用ATS。不過iOS 10從2017年1月1日起蘋果不允許我們通過這個(gè)方法跳過ATS,也就是說(shuō)強(qiáng)制我們用HTTPS,如果不這樣的話提交App可能會(huì)被拒絕。但是我們可以通過NSExceptionDomains來(lái)針對(duì)特定的域名開放HTTP可以容易通過審核。
8 隱私權(quán)限
iOS 10 開始對(duì)隱私權(quán)限更加嚴(yán)格,如果你不設(shè)置就會(huì)直接崩潰,現(xiàn)在很多遇到崩潰問題了,一般解決辦法都是在info.plist文件添加對(duì)應(yīng)的Key-Value就可以了。
<!-- 相冊(cè) --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能訪問相冊(cè)</string> <!-- 相機(jī) --> <key>NSCameraUsageDescription</key> <string>App需要您的同意,才能訪問相機(jī)</string> <!-- 麥克風(fēng) --> <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> <!-- 提醒事項(xiàng) --> <key>NSRemindersUsageDescription</key> <string>App需要您的同意,才能訪問提醒事項(xiàng)</string> <!-- 運(yùn)動(dòng)與健身 --> <key>NSMotionUsageDescription</key> <string>App需要您的同意,才能訪問運(yùn)動(dòng)與健身</string> <!-- 健康更新 --> <key>NSHealthUpdateUsageDescription</key> <string>App需要您的同意,才能訪問健康更新 </string> <!-- 健康分享 --> <key>NSHealthShareUsageDescription</key> <string>App需要您的同意,才能訪問健康分享</string> <!-- 藍(lán)牙 --> <key>NSBluetoothPeripheralUsageDescription</key> <string>App需要您的同意,才能訪問藍(lán)牙</string> <!-- 媒體資料庫(kù) --> <key>NSAppleMusicUsageDescription</key> <string>App需要您的同意,才能訪問媒體資料庫(kù)</string>或者
以上所述是小編給大家介紹的兼容iOS 10 升級(jí)xcode8出現(xiàn)的問題及解決方案,以及一些適配,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS App中調(diào)用相冊(cè)中圖片及獲取最近的一張圖片的方法
這篇文章主要介紹了iOS App中調(diào)用相冊(cè)中圖片及獲取最近的一張圖片的方法,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03IOS 調(diào)整內(nèi)存中的圖片大小實(shí)例詳解
這篇文章主要介紹了IOS 調(diào)整內(nèi)存中的圖片大小實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04淺談IOS中AFNetworking網(wǎng)絡(luò)請(qǐng)求的get和post步驟
本篇文章主要介紹了淺談IOS中AFNetworking網(wǎng)絡(luò)請(qǐng)求的get和post步驟的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02iOS 中 使用UITextField格式化銀行卡號(hào)碼的解決方案
今天小編給大家分享ios中使用UITextField格式化銀行卡號(hào)碼的實(shí)現(xiàn)思路詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2016-12-12CocoaPods 出現(xiàn)LoadError - cannot load such file -- nanaimo錯(cuò)誤解決
這篇文章主要介紹了CocoaPods 出現(xiàn)LoadError - cannot load such file -- nanaimo錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04IOS 使用Block二次封裝AFNetworking 3.0詳解
這篇文章主要介紹了IOS 使用Block二次封裝AFNetworking 3.0詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02