2015-12-24 31 views
1

我一直無法獲得HealthKit requestAuthorization對話框出現。對於具有不同操作系統版本和不同安裝方法的兩款不同手機,情況就是如此(參見下文)。該requestAuthorization代碼是標準的樣板代碼,如:HealthKit requestAuthorization對話框不出現

HKCharacteristicType *genderType = [HKObjectType characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierBiologicalSex]; 
[self.healthStore requestAuthorizationToShareTypes:nil readTypes:[NSSet setWithObjects: genderType, nil] completion:^(BOOL success, NSError *error) { 
    NSLog(@"requestAuthorization completion block"); 
}]; 

我已經嘗試了新的應用程序只用代碼,試圖爲requestAuthorization方法調用不同的參數,並試圖在許多不同的重置我們的系統方式:應用程序卸載,重置設置,刪除手機內容和設置與現有的部分備份;使用完全備份擦除手機內容和設置,刪除內容和設置並將手機作爲新手機啓動。已嘗試過多種不同的readTypes和shareTypes。每次requestAuthorization被稱爲一個新的應用程序安裝,出現以下錯誤代碼:「發生錯誤=錯誤域= com.apple.healthkit代碼= 4」

缺少 com.apple.developer.healthkit權利。 「的UserInfo = 0x7fa748534b00 {NSLocalizedDescription =缺少com.apple.developer.healthkit 權利}」

然而,HealthKit權利在上xcode的兩種能力設定以及對蘋果開發在應用ID功能:證書,標識符和配置文件。

- 問題:如何解決此問題,以便requestAuthorization對話框出現?手機進入狀態的可能原因是什麼?

- 使用手機: iPhone 6,iPhone 6加 - 使用的操作系統版本:的iOS 9.0/9.0.2/9.1/9.2 - 加載應用程序的方法在電話: iOS應用商店,觀看應用程序App Store,TestFlight,xcode - 看起來沒有被破壞的情況:通過App Store安裝用戶的(非開發)手機。

回答

0

有幾件事情可能導致這種情況。首先,您的供應配置文件可能會與實際在門戶網站上看到的內容過時。嘗試從XCode手動刷新這些。

您的應用是否有使用HealthKit框架的應用擴展程序或watchOS應用程序?每個擴展/監視應用程序都將在Web門戶上擁有自己的配置文件,並且如果HealthKit框架已添加到其中的任何一個而未添加授權,那麼這也可能導致錯誤。