iOS 10を使用すると、最初のベータ版HealthKitの認証がクラッシュします。 iOSの9.xので実行されていたコードで (私はスウィフト3に変更することを除いて)iOS 10 beta 1で未処理のNSExceptionでHealthKitの認証がクラッシュする
も、最も簡単なの承認がクラッシュ:
func authorizeHealthKit(_ completion: ((success:Bool, error:NSError?) -> Void)!)
{
// 1. Set the types you want to read from HK Store
var healthKitTypesToRead: Set<HKObjectType> = Set<HKObjectType>()
healthKitTypesToRead.insert(HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.dateOfBirth)!)
// 2. Set the types you want to write to HK Store
var healthKitTypesToWrite: Set<HKSampleType> = Set<HKSampleType>()
// 3. If the store is not available (for instance, iPad) return an error and don't go on.
if !HKHealthStore.isHealthDataAvailable()
{
// do some error handling
return;
}
// 4. Request HealthKit authorization
// iOS 10 beta 1 throws NSException without declaring it:
healthStore.requestAuthorization(toShare: healthKitTypesToWrite, read: healthKitTypesToRead) { (success: Bool, error: NSError?) -> Void in
// do stuff
}
}
これはとiPhone SEシミュレーターでクラッシュする最も簡単なコードですiOSの10ベータ1
例外メッセージが
「のlibC++ abi.dylibです:タイプ NSExceptioのキャッチされない例外で終了n "である。
iOS 10ベータ1では承認がまったく機能しない可能性がありますか? これはXCodeの8ベータ作品は何1
です:私はiOSの9.3ターゲットとのXcode 7.3を使用して構築されたというのが私のHelthKitアプリケーションが正常に動作iOSの下に10のベータ1のハードウェアのiPhone上で5
申し訳ありませんが、ここでの解決策は何もわかりませんが、私はObjective Cで同じ問題が発生しているとエコーしたいと思っています。Watch Simulatorでは問題なく動作しますが、まずはiPhoneアプリの承認。私はiPhoneアプリのシミュレータを使用して私は同じクラッシュを取得します。これはベータ1のバグでしょうか?リリースノートには記載されていませんが。 –
問題を解決できましたか?最新版(Beta 6)では、 'healthStore.requestAuthorization'の完了ハンドラの括弧内に入ればすぐに内部エラーが発生します – Patrick
はい、回答は解決策 –