を要求するために、アプリのInfo.plistに設定する必要があります。 plistファイルNSHealthShareUsageDescriptionは私が私のiOSアプリにフレームワークが含まれており、私のアプリの情報に次のように置くとき</p> <pre><code>_healthStore requestAuthorizationToShareTypes:writeTypes readTypes:readTypes completion:^(BOOL success, NSError *error) { </code></pre> <p>を使用するフレームワークを持って読んで承認
<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