2016-09-20 18 views
6

Mam ramy, które używaNSHealthShareUsageDescription musi być ustawiony w aplikacji Info.plist w celu żądania odczytu zezwolenia

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

Kiedy obejmują ramy do mojego app iOS i umieścić następujące w moim app informacji. plik plist

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

wszystko działa poprawnie - nie licząc tych kluczy wyników w następujący błąd:

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

Mój problem polega na tym, że podczas uruchamiania jednostki testowej dla frameworka następuje awaria z powyższym błędem. Umieściłem klucze we wszystkich plikach info.plist dla frameworku i celu testowego, ale nadal mam awarię.

W którym pliku plist należy umieścić klucze, aby uruchomić cel testowy?

(należy również wspomnieć, że jestem w trakcie przełączania na Swift3 - jest to część projektu, który jest w Objective-C - przed iOS10 i XCode 8 to wszystko działało bez zarzutu).

Utworzyłem ramy z odpowiednim testów jednostkowych, aby pokazać problem: https://github.com/asensei/HKHealthStoreFrameworkUnitTestBug

Odpowiedz

0

Należy dodać klucze NSHealthShareUsageDescription i NSHealthUpdateUsageDescription do pliku Info.plist w aplikacji. Można to zrobić poprzez:

  1. klikając na „Info.plist” pliku

  2. prawym przyciskiem myszy i wybierz ekran dodać wiersze.

  3. przewijania do „Bezpieczeństwo - Zdrowie Podziel ..” oraz „Bezpieczeństwo - Zdrowie Aktualizacja ..”

  4. Wybierz oba te i powinno być dobrze.