2014-10-03 13 views
5

Sto giocando con l'idea di Airdrop. C'è un errore durante l'esecuzione del codice di esempio da Apple:UIActivityViewController => LaunchServices: invalidationHandler chiamato

https://developer.apple.com/library/ios/samplecode/sc2273/Introduction/Intro.html

Il messaggio di errore è:

LaunchServices: invalidationHandler called 

Il problema è ovviamente causato da UIActivityViewController. Il codice relativo è sotto #pragma mark - Actions di this file se si può dare un'occhiata.

Mostra solo il messaggio di errore durante l'esecuzione sui dispositivi (sia iPhone che iPad). Va tutto bene se si sta utilizzando il simulatore (sia iPhone che iPad). Qual è la causa di questo? Qualche idea su come risolverlo? Potrebbe essere un bug?

Domande simili sono invitati dal seguente, nessuno dei quali sembra essere in grado di rispondere a questa quesition:

LaunchServices: invalidationHandler called - iOS 8 share sheet

Sharing via UIActivityViewController to Twitter/Facebook etc. causing crash

Present UIActivityViewController- LaunchServices:invalidationHandler called

risposta

13

Si tratta di un bug sul lato di Apple . Da developer forums:

Questo messaggio di registro non indica alcun errore da parte dell'utente.

1

È necessario sbarazzarsi dell'istruzione if che chiama "isAvailableForServiceType:". Dovrebbe assomigliare a qualcosa di simile a questo. In bocca al lupo!

SLComposeViewController *tweetSheet = [SLComposeViewController 
              composeViewControllerForServiceType:SLServiceTypeTwitter]; 

    [tweetSheet setInitialText:@"Great fun to learn iOS programming at appcoda.com!"]; 
    [self presentViewController:tweetSheet animated:YES completion:nil]; 

    if ([tweetSheet respondsToSelector:@selector(popoverPresentationController)]) 
    { 
     // iOS 8+ 
     UIPopoverPresentationController *presentationController = [tweetSheet popoverPresentationController]; 

     presentationController.sourceView = sender; // if button or change to self.view. 
    } 
Problemi correlati