你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 更新了Xcode8 及 iOS10遇到的問題小結

更新了Xcode8 及 iOS10遇到的問題小結

編輯:IOS開發綜合

更新了Xcode8 以及 iOS10,App訪問用戶的相機、相冊、麥克風、通訊錄的權限都需要重新進行相關的配置,不然在Xcode8中打開編譯的話會直接crash。

需要在info.plist中添加App需要的一些設備權限。

相機NSCameraUsageDescription

相冊NSPhotoLibraryUsageDescription

通訊錄NSContactsUsageDescription

始終訪問位置NSLocationAlwaysUsageDescription

位置NSLocationUsageDescription

在使用期間訪問位置NSLocationWhenInUseUsageDescription

麥克風NSMicrophoneUsageDescription

訪問藍牙NSBluetoothPeripheralUsageDescription

訪問日歷NSCalendarsUsageDescription

訪問媒體資料庫NSAppleMusicUsageDescription

訪問健康分享NSHealthShareUsageDescription

訪問健康更新NSHealthUpdateUsageDescription

訪問運動與健身NSMotionUsageDescription

訪問提醒事項NSRemindersUsageDescription

提別提醒: 從2017年1月1日起,強制使用https,所有新提交的 app 默認不允許使用NSAllowsArbitraryLoads來繞過ATS的限制 安全傳輸不再支持SSLv3, 建議盡快停用SHA1和3DES算法.

下面貼出來錯誤:

 Q1:  iOS10相冊相機閃退問題:

iOS10系統下調用系統相冊、相機功能,遇到閃退的情況,日志描述如下:

This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

解決方法:在info.plist文件下添加

相機權限 <key>NSCameraUsageDescription<key>

<string>cameraDesciption<string>

相冊權限  <key>NSPhotoLibraryUsageDescription<key>

<string>photoLibraryDesciption<string>

Q2:  iOS 10 因蘋果健康導致閃退

如果在app中調用了蘋果健康,iOS10中會出現閃退。控制台報出的原因是:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSHealthUpdateUsageDescription must be set in the app's Info.plist in order to request write authorization.'

      這是因為我們要在info.plist文件中聲明蘋果健康的使用權限,所以在info.plist中添加以下key就可以:

請求寫入<key>NSHealthUpdateUsageDescription<key>

<string>some string value stating the reason<string>

請求讀取<key>NSHealthShareUsageDescription<key>

<string>some string value stating the reasonPaste_Image.png<string>

Q3:  Xcode 打印的那些雜亂無章的bug

更新Xcode8之後,新建立工程,都會打印一堆莫名其妙看不懂的Log.比如如這些

subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level:0, persist_level:0, default_ttl:0, info_ttl:0, debug_ttl:0, generate_symptoms:0, enable_oversize:1,

屏蔽的方法如下:

Xcode8裡邊 Edit Scheme->Run-> Arguments, 在Environment Variables裡邊添加

OS_ACTIVITY_MODE = Disable 就行,截圖如下:(真的沒有iPhone4了)

弄完之後就可以像之前那樣 正常打印了.

以上所述是小編給大家介紹的更新了Xcode8 及 iOS10遇到的問題小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!

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