iOS10 升級相容必備參考,ios10升級相容必備

來源:互聯網
上載者:User

iOS10 升級相容必備參考,ios10升級相容必備

最近提交審核不通過,再iOS10上運行崩潰 。然後需要處理崩潰的問題,晚上找了一下,整理收集起來。 方便後續查看使用。 

參考:

http://blog.csdn.net/gbking/article/details/52587149

http://www.cnblogs.com/xiaoc1314/p/5882403.html

http://www.jianshu.com/p/61b73ac8662a

http://www.2cto.com/kf/201609/547127.html

http://www.jianshu.com/p/90d5323cf510 

1、推送 

xcode 升級到8之後很多人的推送接收不到了.擷取不到token了 一朋友搞了一小時沒找到原因. 只因看吧....我發覺xcode 我不開啟他也能收到通知. 但是到了8(必須開啟了才能收到推送) . 貌似不行了    大家對號入座吧.

下面普及下ios10跟之前的推送的區別

  • iOS 9 以前的通知

     

    1.在調用方法時,有些方法讓人很難區分,容易寫錯方法,這讓開發人員有時候很苦惱。

    2.應用在運行時和非運行時捕獲通知的路徑還不一致。

    3.應用在前台時,是無法直接顯示遠程通知,還需要進一步處理。

    4.已經發出的通知是不能更新的,內容發出時是不能改變的,並且只有簡單文本展示方式,擴充性根本不是很好。

  • iOS 10 開始的通知 

    1.所有相關通知被統一到了UserNotifications.framework架構中。

    2.增加了撤銷、更新、中途還可以修改通知的內容。

    3.通知不在是簡單的文本了,可以加入視頻、圖片,自訂通知的展示等等。

    4.iOS 10相對之前的通知來說更加好用易於管理,並且進行了大規模最佳化,對於開發人員來說是一件好事。

    5.iOS 10開始對於許可權問題進行了最佳化,申請許可權就比較簡單了(本地與遠程通知整合在一個方法中)。

 

 

2、字型適配的問題

ios 9 之前的lab 字型可以顯示全,但是到了ios10 發覺字型顯示不全了.得適配啊.app 會跟隨手機系統字型大小而改變了.

簡單粗暴地方法就是不讓他跟著手機系統的字型改變而改變.

label.adjustsFontForContentSizeCategory = YES;

 

3、xcode 8運行列印一堆沒用的東西Xcode 8的問題,解決辦法是設定OS_ACTIVITY_MODE : disable如:

 

 

4、xcode8的注釋快速鍵是什麼,   command+/ 不行了

解決辦法:

因為蘋果解決xcode ghost。把外掛程式屏蔽了。解決方案
命令運行: sudo /usr/libexec/xpccachectl 
然後必須重啟電腦後生效

5 、顏色問題, iOS 10 蘋果官方建議我們使用sRGB,因為它效能更好,色彩更豐富。

UIColor類中新增了兩個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中預設非HTTS的網路是被禁止的,當然我們也可以把NSAllowsArbitraryLoads設定為YES禁用ATS。不過iOS 10從2017年1月1日起蘋果不允許我們通過這個方法跳過ATS,也就是說強制我們用HTTPS,如果不這樣的話提交App可能會被拒絕。但是我們可以通過NSExceptionDomains來針對特定的網域名稱開放HTTP可以容易通過審核。

 

8、隱私許可權 

iOS 10 開始對隱私許可權更加嚴格,如果你不設定就會直接崩潰,現在很多遇到崩潰問題了,一般解決辦法都是在info.plist檔案添加對應的Key-Value就可以了。

<!-- 相簿 --> <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>

或者

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.