你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 【總結】升級Xcode8遇到的問題及解決方案!!!

【總結】升級Xcode8遇到的問題及解決方案!!!

編輯:IOS開發基礎

此總結由CocoaChina論壇版主wo709128079及廣大壇友共同收集匯總


升級Xcode8已是必然,升級iOS 10的用戶不能說大有人在,應該也不會少,樓主聽說,如果不升級Xcode8,上架最新的包,那麼可能應用在iOS 10 上是不支持的.so,這些Xcode8的新特性,你應該了解!!! 

1.快捷鍵  command + /   注釋失效; 

解決方法1: Xcode -> preferences -> key bindings 中的comment selection 是否設置上快捷鍵了  

解決方法2: 第四個問題詳解

2.Xcode8支持iOS 8以下真機測試方法:

  • 應用程序-Xcode 顯示包內容-Contents-Developer-Platforms-iPhoneOS.platform-DeviceSupport 把裡邊 6.0 6.1 7.0 7.1 的文件夾粘貼到xcode8 對應的文件夾內  

  • 應用程序-Xcode 顯示包內容-Contents-Developer-Platforms-iPhoneOS.platform-Developer-SDKs-iPhoneOS.sdk-SDKSettings.plist 文件下DefaultProperties - DEPLOYMENT_TARGET_SUGGESTE...  該數組中添加 6.0 6.1 7.0 7.1 對應的測試版本,(注意:如果你的文件是只讀模式的,那麼是不能修改的,你需要把Contents-Developer-Platforms-iPhoneOS.platform-Developer-SDKs-  iPhoneOS.sdk-SDKSettings.plist 這些文件的只讀模式都改成讀寫模式)這個版本排序一定要是從小到大,直接把小的添加到下面是不管用的,必須把小的拖到最上邊.這個時候退出你的Xcode,然後  重新啟動,你就會發現ios8.0以下的真機 也可以正常測試了 

3.如果項目中包含證書

證書內包含的Id 必須與 bundle Id 保持一致才行,開發者team賬號必須創建了 該 bundle Id 對應的證書,就是說不是所有的蘋果賬號都能真機測試了(這裡說的是項目中有證書的前提下)

4.使用Xcode 8創建新項目

會讓你選擇開發者team為了自動生成對應的證書。在新老項目的General中也可以對簽名進行設置,勾選自動管理證書(可選的),Xcode會自動替你生成調試證書和描述問題,證書與描述文件有效期為6天,避免了大量的垃圾冗余證書占用問題。

5.- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error;  變成了- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

6.版本target 從8.0 起步了

但是老代碼的7.1 用Xcode8 打開還是顯示7.1,可以手寫輸入7.1,仍然管用.

7.之前兩個漢字占用24寬度,現在占用27了

導致部分UI可能需要重新適配; 或者判斷下當前系統版本,如果>=10.0,就讓需要適配的控件調用  sizetofit  方法.

8.權限

* 麥克風權限: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 我們需要通過您的地理位置信息獲取您周邊的相關數據
* 定位權限: Privacy - Location Always Usage Description 我們需要通過您的地理位置信息獲取您周邊的相關數據

9.MJRefresh iOS10的系統上每次下拉刷新後沒辦法完全恢復Normal 狀態  Y軸距離上總是相差20左右...(樓主個人也使用的MJ,表示暫時沒有發現這個問題)
解決方案

10.Itunes Connect上傳遇到問題,ERROR ITMS-90682: "Invalid Bundle. The asset catalog at 'Payload/ElitePlus.app/Assets.car' can't contain 16-bit or P3 assets if the app is targeting iOS releases earlier than iOS 9.3."   

解決方法一  解決方法二

    

11.iOS 10 因蘋果健康導致閃退 crash  原文鏈接

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSHealthUpdateUsageDescription must be set in the app's Info.plist in order to request write authorization.'

12.新增了CAAnimationDelegate,之前使用CAAnimation的文件需要強制添加代理

13.上架蘋果商店,如果上傳了ipa,但是在提交的時候構建版本的地方沒有?,那麼請確定你應用中的權限是否已經添加,添加的權限描述是否填寫,推送是否已經開啟(視情況而定);

14.教你如何科學的在Xcode8上使用插件  

轉自:AME_時雨 鏈接

好文推薦一

Xcode8的一些變動

內含:

證書管理/xib注意事項/代碼及Api注意/代碼注釋不能用的解決辦法/權限以及相關設置 6.字體變大,原有frame需要適配 7.推送 8.屏蔽雜亂無章的bug

好文推薦二

更新Xcode8的小伙伴是不是崩的不要不要的 

iOS 10相冊相機閃退bug
iOS 10 因蘋果健康導致閃退 crash
麥克風、多媒體、地圖、通訊錄
iOS 10相機等崩潰
iOS 10 配置須知
iOS開發 適配iOS 10以及Xcode8

好文推薦三

iOS 10 推送須知

好文推薦四

Xcode8新特性和坑                       

好文推薦五

iOS 10 不log               


  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved