Nella mia app sto usando card.io per scansionare le carte di credito. Funziona perfettamente con iOS 9. In iOS 10, l'app si arresta in modo anomalo e non riesco a trovare il registro degli arresti anomali nella console xcode 8 beta 2 in quanto genera molti messaggi inutili.requestAccessForMediaType che si interrompe in iOS 10
E poi ho controllato in privacy-> impostazioni per vedere se la fotocamera è disabilitata per la mia app, ma la mia app non è elencata in quella sezione. Sembra che iOS 10 non stia autorizzando la mia app a utilizzare la fotocamera.
Io uso il seguente codice per richiedere il permesso:
-(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;
}
Quando ho eseguito questo codice, l'authStatus viene restituito come AVAuthorizationStatusNotDetermined
e l'applicazione si è schiantato subito dopo entrare nel blocco requestAccessForMediaType:AVMediaTypeVideo
C'è così tanto di log di garbage visualizzati in console e non ho idea di trovare il messaggio di crash.
Edit: ho trovato un'opzione per disattivare i tutti i registri non necessari in Xcode 8. Risposta pubblicato here. Ma ancora Xcode non ha mostrato alcun crash log anche dopo la disattivazione del debug backtrace.
mio xcode8 mostra solo questo messaggio e l'applicazione appena si chiude:
App[1124:226447] [access] <private>
Ho anche provato a ripristinare la posizione e la privacy, ma ancora l'applicazione si blocca quando si cerca di richiedere l'accesso ai supporti.
Qualche idea del perché questo sta accadendo?
hai trovato qualche soluzione per questo? –
No, sto ancora cercando di capirlo –
esattamente come te, non ho nessun registro di crash !! –