2016-09-20 59 views
6

我有一個使用NSHealthShareUsageDescription必須在應用程序的Info.plist以請求讀取授權

_healthStore requestAuthorizationToShareTypes:writeTypes readTypes:readTypes completion:^(BOOL success, NSError *error) { 

當我包括了一個框架,我的iOS應用程序,並把我的應用程序信息下面的框架進行設置。 plist文件

<key>NSHealthShareUsageDescription</key> 
<string>Read heart rate monitor data.</string> 
<key>NSHealthUpdateUsageDescription</key> 
<string>Share workout data with other apps.</string> 

一切工作正常 - 這還不包括那些按鍵會導致以下錯誤:

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

我的問題是,當運行框架的單元測試時,它會崩潰,出現上述錯誤。我已經將關鍵字放在框架和測試目標的所有info.plist文件中,但仍然會導致崩潰。

爲了運行測試目標,哪些plist文件應該按鍵進入? (還應該提到,我正在切換到Swift3--這是Objective-C中的項目的一部分 - 在iOS10和XCode 8之前,這一切都很好)。

我已經創建了合適的單元測試框架,藉以說明問題:https://github.com/asensei/HKHealthStoreFrameworkUnitTestBug

回答

0

您必須添加NSHealthShareUsageDescription和NSHealthUpdateUsageDescription鍵在Info.plist文件在您的應用程序。對「的Info.plist」文件

  • 右鍵點擊屏幕

    1. 單擊並選擇添加行:您可以通過做到這一點。

    2. 滾動到「隱私 - 健康分享..」和「隱私 - 健康更新。」

    3. 選擇這兩項的,你應該是不錯的。
  • 相關問題