Nachdem ich eine bestimmte Google Youtube-Bibliothek angerufen habe, reagiert meine Anwendung nach einem Callback plötzlich nicht mehr.Plötzlich reagiert die iOS App überhaupt nicht mehr
Nicht reagierend bedeutet, dass nicht alle UI-Komponenten angeklickt werden können.
Gibt es in iOS so etwas, das den gesamten Bildschirm deaktivieren kann, um überhaupt nicht zu reagieren?
Der Code:
self.uploadFileTicket = [service executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLYouTubeVideo *uploadedVideo,
NSError *error) {
// Callback
_uploadFileTicket = nil;
if (error == nil) {
[_delegate videoUploadedSuccessfully:YES error:nil];
} else {
[_delegate videoUploadedSuccessfully:NO error:error.description];
}
}];
In meinem Viewcontroller:
- (void)videoUploadedSuccessfully:(BOOL)success error:(NSString *)errorMessage{
dispatch_async(dispatch_get_main_queue(), ^{
if(success){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Youtube"
message:@"Video uploaded successfully"
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[alert show];
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Youtube"
message:errorMessage
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[alert show];
}
});
}
aktualisieren
Ich habe mit Instrument versucht und bekam folgende:
Bedeutet dies, dass mein Arbeitsfaden den Hauptfaden blockiert?
Zuerst einmal versuchen, den gesamten Code zu kommentieren und –
setzen Haltepunkt setzen und überprüfen, in welchem Thread-Prozess gestartet –
Wenn ich den Aufruf auf Youtube-Bibliothek kommen, funktioniert es natürlich wieder lol – Rendy