2014-11-27 19 views
5

Ho difficoltà a far funzionare HealthKit per la mia app iOS. Ho fatto tutti i passaggi I have found so far e nessun sembrano risolvere il mio problema Continuo a ricevere questo errore quando si tenta di autorizzare Healthkit:Non riesco a far funzionare HealthKit. Missing Entitlement

Error Domain=com.apple.healthkit Code=4 "Missing com.apple.developer.healthkit entitlement." UserInfo=0x78fa24e0 {NSLocalizedDescription=Missing com.apple.developer.healthkit entitlement.} 

Ecco il mio codice si richiede l'autorizzazione:

if([HKHealthStore isHealthDataAvailable]) { 

     self.healthStore = [[HKHealthStore alloc] init]; 

     [self.healthStore requestAuthorizationToShareTypes:nil readTypes:[self dataTypesToRead] completion:^(BOOL success, NSError *error) { 

      if (!success) { 
       NSLog(@"HK Error: %@", error); 
       [self presentHealthAlert:@"You didn't allow APP to access HealthKit Data. Please go to Settings and set up APP permissions." withTitle:@"Error"]; 
      } else { 
       [self presentHealthAlert:@"Thank You For Access" withTitle:@"Success"]; 
      } 
     }]; 

    } else { 
     [self presentHealthAlert:@"Health Data Not Available" withTitle:@"Success"]; 
    } 

E sì, L'ho abilitato sul mio progetto Capabilites, e sì l'ho abilitato nel mio ID App Dev Center. C'è qualcos'altro che potrebbe mancare?

+0

Hai provato a scaricare il profilo di provisioning e provare di nuovo? –

+0

Potrebbe per favore guardare la mia risposta? Se è giusto, si prega di accettare la risposta! –

risposta

1

È necessario assicurarsi di fare clic sul programma sul lato sinistro di Xcode (la parte superiore della gerarchia dei file). Arriverete a una schermata delle impostazioni generali nella finestra principale (a destra) in cui vedrete l'identificatore del gruppo, l'obiettivo di distribuzione e le impostazioni aggiuntive. Fare clic sulla scheda in alto che dice Funzionalità. Ora vedrai un elenco modificabile che include HealthKit. Devi attivarlo qui prima di poterlo utilizzare nell'app.

Modifica: questa è un'immagine di Xcode che potrebbe aiutarti a trovare questo se non hai familiarità con l'impostazione delle dipendenze o altre impostazioni specifiche del programma.

Screenshot showing where the list with HealthKit is

E 'in questo elenco a destra, verso il fondo vedrete HealthKit. Verificherà diverse cose dopo averlo acceso e verificato che tu possa usarlo.

+1

La mia domanda afferma chiaramente che l'ho già fatto. –

1

Un po 'vecchio, ma per chiunque abbia problemi, ho dovuto aggiornare manualmente i miei profili di provisioning anche in XCode 6.2 (Preferenze -> Account).

1

Sono finito qui dopo aver raggiunto la mia fine. Nulla ha funzionato e ho chiaramente avuto il diritto di HealthKit abilitato, quindi alla fine ho appena riavviato il telefono. Ecco. Il riavvio ha eliminato gli errori di autorizzazione mancanti.

5

Ho avuto questo problema con un'app watchOS 2. La risoluzione era di garantire che avessi abilitato la titolarità HealthKit per sia l'app iOS e l'estensione dell'orologio.

In modo errato, l'interruttore per l'app per iOS sarebbe stato ereditato dall'estensione dell'orologio.

+0

Grazie per questo! Nessuna cosa che ho visto da nessuna parte ha menzionato questo, quindi non ho mai pensato di cercare un altro set di autorizzazioni da abilitare! – jkratz

0

Sono riuscito a far funzionare il mio diritto assicurandomi di registrare un dispositivo. Una volta che ho fatto vedere il mio iPhone sotto il simulatore e non ho avuto problemi irrisolti nella sezione identità della app, tutto è andato bene.

0

È possibile che nonostante sia stata attivata l'autorizzazione di HealthKit in xcode che sia presente un secondo file di autorizzazioni che non contiene il booleano del healthkit. Ho scoperto che mentre l'evidente file delle autorizzazioni (al livello superiore) aveva le informazioni corrette, un altro file di titolarità è stato creato in Risorse che non contenevano il diritto al healthkit. aggiustando il file risolto il mio problema.

0
  1. Cliccare sulla Guarda App estensione bersaglio.

  2. Toccare il Capacità.

  3. Scorrere verso il basso e accendere lo HealthKit.

enter image description here

Problemi correlati