我正在玩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
答案 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.
}