私のアプリでは、クレジットカードをスキャンするためにcard.ioを使用しています。それはiOS 9で正常に動作します。iOS 10では、アプリケーションがクラッシュしていて、xcode 8 beta 2コンソールにクラッシュログが見つかりません。ガベージメッセージが多く表示されます。requestAccessForMediaTypeがiOS 10でクラッシュする
次に、私のアプリのカメラが無効になっているかどうかを確認するため、私のアプリはそのセクションには表示されていません。私のアプリがカメラを使用するための許可を求めていません。
私は許可を要求するために、次のコードを使用します。私はこのコードを実行すると
-(BOOL)checkCameraPermissions{
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusAuthorized)
{
// start card-io
return YES;
}
else if(authStatus == AVAuthorizationStatusNotDetermined)
{
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted)
{
if(granted)
{
//Start card-io
[self testIsNewCard];
}
}];
}
else if (authStatus == AVAuthorizationStatusRestricted)
{
//Alert
// Alert camera denied
UIAlertController *aCon=[UIAlertController alertControllerWithTitle:@"Camera denied" message:@"Camera cannot be used" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *ok =[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[aCon dismissViewControllerAnimated:YES completion:nil];
}];
[aCon addAction:ok];
[self presentViewController:aCon animated:YES completion:nil];
return NO;
}
return NO;
}
、authStatusはAVAuthorizationStatusNotDetermined
として返され、アプリが、それはブロックrequestAccessForMediaType:AVMediaTypeVideo
コンソールに表示されるガベージログが非常に多く、クラッシュメッセージを見つける手がかりがありません。
編集:私もバックトレースのデバッグを無効にした後、任意のクラッシュログを8回答here.を掲載しかし、まだXcodeのがあったしませんでしたXcodeですべての不要なログを無効にするオプションを発見しました。
マイxcode8はちょうどこのメッセージが表示され、アプリがちょうど終了します
App[1124:226447] [access] <private>
私はまた、メディアへのアクセスを要求しようとしたときの位置とプライバシー、それでもアプリのクラッシュをリセットしてみました。
これは何が起こっているのですか?
これにはどんな解決策がありましたか? –
いいえ、私はまだそれを理解しようとしています –
ちょうどあなたのように私は任意のクラッシュログを取得していない! –