对于某些用户,UIActivityViewController会立即消失

时间:2014-04-16 15:21:39

标签: cocoa-touch uiactivityviewcontroller

对于我的应用程序的某些用户,每当我尝试显示UIActivityViewController以共享数据时,呈现的活动视图会立即消失,但不会解除(这会导致我无法呈现新的)。

无论出于何种原因,这只发生在一些用户身上,对于那些用户来说,每次都会发生这种情况。我还没有能够在设备类型等方面辨别出一个模式。我连接了一个用户的手机并观看了控制台日志,每次UIActivityViewController消失时我都会看到这个错误。 :

Apr 16 10:00:28 Test-iPhone wirelessproxd[4635] <Notice>: (Error) error event: (<OS_xpc_error: <error: 0x192556dc8> { count = 1, contents =
    "XPCErrorDescription" => <string: 0x1925570d0> { length = 18, contents = "Connection invalid" }
}>)

我似乎无法在任何地方在线找到该错误的任何相关结果。导致此问题的是什么?

这是我创建UIActivityViewController的代码:

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self.currentStory, self.currentStory.webURL] applicationActivities:(USES_IPAD_UI? @[saveStoryActivity] : nil)];
BOOL blockPaused = self.userPaused;
activityViewController.completionHandler = ^(NSString *activityType, BOOL completed) {
    if (!blockPaused)
        [playerViewController play];
};

if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) {
    [self.navigationController presentViewController:activityViewController animated:YES completion:NULL];
} else if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
    if (!self.activityPopover) {
        self.activityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
    } else {
        self.activityPopover.contentViewController = activityViewController;
    }

    [self.activityPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

到目前为止,我只在iPhone上看到过这种情况,但我也包含了iPad代码,以防万一。

1 个答案:

答案 0 :(得分:0)

尔加。事实证明这是由我们在那里的一些代码引起的,仅针对beta用户,这些代码在CALayer中显示了内置于其他所有内容(layer.zPosition = CGFLOAT_MAX)之上的内部版本号。 UIActivityViewController似乎不喜欢低于其他任何东西。注释掉beta代码,一切正常。