UIActivityViewController => LaunchServices:invalidationHandler被调用

时间:2014-10-03 16:57:04

标签: ios xcode ios7

我正在玩Airdrop的想法。 Apple运行示例代码时出错:

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

错误消息是:

LaunchServices: invalidationHandler called

问题显然是由UIActivityViewController引起的。如果您可以查看,相关代码位于this file#pragma mark - Actions下。

它仅在设备(iPhone和iPad)上运行时显示错误消息。如果在模拟器(iPhone和iPad)上运行,这一切都很好。这是什么原因?有关如何解决它的任何想法?它可能是一个错误吗?

以下提出了类似的问题,其中没有一个似乎能够回答这个问题:

LaunchServices: invalidationHandler called - iOS 8 share sheet

Sharing via UIActivityViewController to Twitter/Facebook etc. causing crash

Present UIActivityViewController- LaunchServices:invalidationHandler called

2 个答案:

答案 0 :(得分:13)

这是Apple方面的一个错误。来自developer forums

  

该日志消息并不表示您有任何错误。

答案 1 :(得分:1)

你必须摆脱调用“isAvailableForServiceType:”的if语句。看起来应该是这样的。祝你好运!

    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.
    }