欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

總結適配IOS10開發(fā)需要注意的問題

 更新時間:2016年12月19日 16:48:13   作者:jaybinhe  
本篇文章主要介紹了適配IOS10需要注意的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。

就在前不久,蘋果剛剛對外正式發(fā)布了新的操作系統(tǒng)IOS10。悲劇的是就在發(fā)布新系統(tǒng)的當天公司就急著要發(fā)布一個新版本,問題來了。。。誰知道APP在IOS10上會遇到什么鬼情況!最怕的就是閃退。。。于是在上線前做了很多關于IOS10的適配工作,其中也踩了很多坑。所以在這里記錄總結一下。

1、自動管理證書

首先要說的就是Xcode8。打開Xcode8最明顯的就是Targets-->General下的自動管理證書模塊。以前對于新手來說無論是開發(fā)還是打包都必須要被蘋果的開發(fā)簽名系統(tǒng)虐上幾遍才能真正明白它的原理和規(guī)程。現(xiàn)在貌似直接勾上“Automatically manage signing”,Xcode8一切都幫我們做好了。不得不說確實很方便!

不過認真想想,這個“Automatically manage signing”按鈕無非就是自動幫我們在開發(fā)者中心創(chuàng)建appid、cetificaiton、profire provision等等證書文件并且自動關聯(lián)上。但是如果我們證書管理不規(guī)范,很有可能出現(xiàn)revoke證書的情況。這是一直以來很頭疼的事情。所以我還是推崇開發(fā)者自己手動創(chuàng)建和管理證書。呵呵,這個自動管理證書的按鈕我們選擇不勾上。

2、雜亂無章的日志輸出

Xcode8啟動后一連串雜亂無章的日志輸出,第一反應就是這是什么鬼!

在網(wǎng)上查了一下,原來這個日志的輸出是可以關閉的。關閉路徑:Edit Scheme-->Run-->Arguments-->Enviroment Variables ,添加一個配置選項就好了 “OS_ACTIVITY_MODE = Disable”。

3、推送增加 entitlements 文件簽名

Xcode8增加了一項很重要的功能:為推送增加了entitlements 文件簽名。所以,如果你的應用是支持推送的,那一定要記得打開這個entitlements文件簽名的開關!否則APP在啟動注冊推送服務的時候就報簽名錯誤了,Push消息也就不可能接收的到。

下圖的開關記得打開!

另外,蘋果對推送的框架和API也做了重大的調(diào)整,需要開發(fā)者對IOS10+做相應的適配,后面會詳細介紹。

4、系統(tǒng)權限設置

IOS10對系統(tǒng)權限的使用做了更加嚴格的控制。

APP想要使用系統(tǒng)的某個權限,必須要在項目設置info.plist文件中設置相應的權限說明,否則在IOS10上會出現(xiàn)崩潰。

事實上,如果你的應用使用了系統(tǒng)某個權限,但是沒有設置相應的權限說明,那么你的應用在上傳到itunes connect后會馬上被changed to invalid binary。

因為這個坑我們第一天就踩了:用Xcode 8打包上傳App,本地驗證和ipa上傳都正常,但是上傳成功后,包馬上被changed
 to invalid binary,itunes connect后臺的構建版本也一直出不來。一看反饋郵件,原因就是使用了某個系統(tǒng)權限但是沒有添加相應權限的說明!

相應的系統(tǒng)權限說明如下:

麥克風權限---> Privacy - Microphone Usage Description :是否允許此App使用你的麥克風?

相機權限---> Privacy - Camera Usage Description :是否允許此App使用你的相機?

相冊權限---> Privacy - Photo Library Usage Description :是否允許此App訪問你的媒體資料庫?

通訊錄權限---> Privacy - Contacts Usage Description :是否允許此App訪問你的通訊錄?

藍牙權限---> Privacy - Bluetooth Peripheral Usage Description :是否許允此App使用藍牙?

語音轉文字權限---> Privacy - Speech Recognition Usage Description :是否允許此App使用語音識別?

日歷權限---> Privacy - Calendars Usage Description :是否允許此App使用日歷?

定位權限---> Privacy - Location When In Use Usage Description :我們需要通過您的地理位置信息獲取您周邊的相關數(shù)據(jù)

定位權限---> Privacy - Location Always Usage Description :我們需要通過您的地理位置信息獲取

5、字體變大,原來的一些控件出現(xiàn)字體顯示不全

IOS10下的字體比原來的字體更大。

以前剛剛好顯示的下的文字在IOS10上竟然顯示不全了,因為IOS10的中文字體比原先的字體要大,目前的解決方法就是把原來定寬且剛好顯示完全的控件重新調(diào)整一遍:要么把寬度加寬要么內(nèi)容自適應大小。

6、IOS10跳轉到系統(tǒng)設置的相應方法已經(jīng)禁止

在iOS10以前,我們可以通過以下方法跳轉到設置相應的頁面去:

//跳轉到設置的 WIFI 頁面  
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]]; 

另外:

IOS6和IOS7需要設置URL Schemes:在URL Types中添加一個新項(prefs)。

IOS8和IOS9則不需要設置這個。

IOS10已經(jīng)禁止,所以IOS10的系統(tǒng)可以去除這部分業(yè)務邏輯了。

7、Xcode代碼注釋不能用

這個是因為蘋果解決xcode ghost,把插件屏蔽了。

解決方法

打開終端,命令運行:

sudo /usr/libexec/xpccachectl

然后必須重啟電腦后生效

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論