2016-09-20 1 views
6

ich einen Rahmen haben lesen zu beantragen App gesetzt werden, dieNSHealthShareUsageDescription muss in der Info.plist um Genehmigung

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

verwendet Wenn ich den Rahmen in meine iOS-App enthalten und die folgende in meiner Anwendung info setzen. plist-Datei

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

alles funktioniert - nicht diese Tasten Ergebnisse in den folgenden Fehlern einschließlich:

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

Mein Problem ist, dass beim Ausführen der Komponententests für das Framework es mit dem obigen Fehler abstürzt. Ich habe die Schlüssel in alle inf.plist-Dateien für das Framework und für das Testziel gesteckt, aber immer noch den Absturz bekommen.

In welche PLIST-Datei sollen die Tasten gehen, um das Testziel zu starten?

(sollte auch erwähnen, dass ich bin im Umstieg auf Swift3 - das ist ein Teil des Projekts, das in Objective-C ist - vor iOS10 und XCode 8 das alles gut funktioniert).

Ich habe einen Rahmen mit entsprechendem Unit-Test erstellt, das Problem zu zeigen: https://github.com/asensei/HKHealthStoreFrameworkUnitTestBug

Antwort

0

Sie müssen die NSHealthShareUsageDescription und NSHealthUpdateUsageDescription Schlüssel zur Info.plist Datei in Ihrer Anwendung hinzuzufügen. Sie tun dies durch:

  1. einem Klick auf den „Info.plist“ Datei

  2. rechts auf den Bildschirm klicken und wählen Sie Zeilen hinzufügen.

  3. blättern zu "Privacy - Gesundheit Teile .." und "Privacy - Health-Update .."

  4. Wählen von denen beide und Sie sollten gut sein.