ios – 现在UIActivityViewController- LaunchServices:invalidationHandler调用

前端之家收集整理的这篇文章主要介绍了ios – 现在UIActivityViewController- LaunchServices:invalidationHandler调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看过有关的问题 herehere,我已经实施了建议的答案没有用.

我在UIToolbar上有一个UIBarButtonItem,用于发送操作的连接到btnTBAction_touch:

在ViewController的类头中有:

@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];
}

当我触摸调用上述方法的按钮时,在物理设备上以调试模式运行时,我在调试控制台中获取以下内容

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正确呈现…但我宁愿修复错误,而不是说它足够好.

此外,我已经尝试了以上方法的一些排列使用这些行:

presentationController.sourceView = self.view;

presentationController.sourceRect = self.view.frame;

这些都没有帮助解决这个问题.

>我使用的是Xcode v6.0.1
>我的应用的部署目标是iPhone 7.0
>在运行iOS 8.0的iPhone 5s上进行测试
>代码全部在Objective-C中

解决方法

如果您的开发目标设备是iPhone,您不必担心此消息.看起来它是苹果的一个bug.看开发者论坛:“该日志消息不表示您的任何错误.”

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

猜你在找的iOS相关文章