2014-09-19 30 views
10

我已经看过相关的问题herehere,并且我已经实现了建议的解决方法,但无济于事。目前UIActivityViewController- LaunchServices:invalidationHandler调用

我有一个UIToolbar一个的UIBarButtonItem,与连接的发送行动btnTBAction_touch:

在视图控制器的类的头,我有:

@property (nonatomic, strong) UIActivityViewController *activityViewController; 

的相关方法的类实现:

- (IBAction)btnTBAction_touch:(id)sender { 
    NSString *string = @"Some string"; 
    NSURL *url = [[NSURL alloc] initWithString:@"http://www.google.com"]; 
    UIImage *image = [UIImage imageNamed:@"default.png"]; 
    self.activityViewController = [[UIActivityViewController alloc] 
     initWithActivityItems:@[string, url, image] applicationActivities:nil]; 

    if ([self.activityViewController respondsToSelector:@selector(popoverPresentationController)]) 
    { 
     UIPopoverPresentationController *presentationController = [self.activityViewController 
      popoverPresentationController]; 
     presentationController.sourceView = sender; 
    } 

    [self presentViewController:self.activityViewController animated:YES completion:nil]; 
} 

当我在调试模式下在物理设备上运行时,当我触摸调用上述方法的按钮时,我在d ebug控制台

2014-09-19 09:43:31.635 TestApp[1878:237873] LaunchServices: invalidationHandler called 
2014-09-19 09:43:31.644 TestApp[1878:237814] LaunchServices: invalidationHandler called 

然而,与相关的问题,遇到这种情况时我的应用程序不会崩溃,应用程序将继续正常工作和UIActivityViewController正确呈现......但我宁愿修复bug比说,这是够好了。

另外我一直在使用这些线路试过上述方法的一些排列:

presentationController.sourceView = self.view; 

presentationController.sourceRect = self.view.frame; 

其中没有帮助解决问题。

  • 我使用的Xcode V6.0.1
  • 我的应用程序的部署目标为7.0 iPhone只
  • 测试在运行iOS的iPhone 5S 8.0
  • 代码都是在Objective-C
+0

同样的问题。 http://stackoverflow.com/questions/25192313/sharing-via-uiactivityviewcontroller-to-twitter-facebook-etc-causing-crash中提出的解决方案不起作用(sourceView或sourceRect)。 – loretoparisi 2014-09-25 09:13:44

+0

同一问题在这里 – Praksha 2014-09-26 13:41:11

回答

5

如果你的开发目标设备是iPhone,你不应该担心这个消息。看起来这是来自Apple的一个bug。查看开发人员论坛:“该日志消息不表示您的任何错误。”

请参见:https://devforums.apple.com/message/1049415#1049415(可能需要您登陆)

+0

链接?与参考我将这标记为答案 – chriszumberge 2014-10-10 17:27:51

+0

@chriszumberge我编辑了我的答案,并包含链接 – Eric 2014-10-10 20:29:17

2

类似的问题在这里。

我正在使用UIDocumentInteractionController,而不是UIActivityViewController,所以没有sourceView或sourceRect来处理。

在标题:

UIDocumentInteractionController *docInteractionController; 

在.M:

self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:fileURL]; 

self.docInteractionController.delegate = self; 
self.docInteractionController.UTI = @"com.adobe.pdf"; 
//UIBarButtonItem *element is an element in my toolbar 
[self.docInteractionController presentOptionsMenuFromBarButtonItem:element animated:YES]; 

在我看到下面的警告控制台:

Unknown activity items supplied: (
    { 
    "com.adobe.pdf" = <25504446 (and then what looks like the rest of the pdf I tried to open)>; 
}, 
"<UIPrintInfo: 0x17b47ca0>" 
) 
2014-10-14 21:11:21.661 iFly[288:29569] LaunchServices: invalidationHandler called 

而且在我的官方应用程序商店版我的应用程序,该应用程序崩溃。当我在我的iPad上编译和运行时,它只是发出警告。

我可以通过使用presentOpenInMenuFromBarButtonItem而不是用于UIDocumentInteractionController调用的presentOptionsMenuFromBarButtonItem来提供部分警告的“未知活动项目”,但仍会发生“LaunchServices”警告。

iPad版本8.0.2。 Xcode版本6.0.1,部署目标6.0(也用部署目标8.0测试)。所有的目标-c。

+0

我看到相同的问题。另外,取消菜单选项后,我的操作按钮似乎不能启用。不知道这是否与这些错误有关。有人可以回答吗? – Shwethascar 2014-12-04 21:48:00

0

这是对我工作。没有错误。我不得不摆脱名为“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. 
    } 
+0

'UIDocumentInteractionController'怎么样? 'UIDocumentInteractionController'没有'popoverPresentationController'属性 – TomSawyer 2014-11-07 18:04:50

相关问题