对于我的应用程序的某些用户,每当我尝试显示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代码,以防万一。
答案 0 :(得分:0)
尔加。事实证明这是由我们在那里的一些代码引起的,仅针对beta用户,这些代码在CALayer中显示了内置于其他所有内容(layer.zPosition = CGFLOAT_MAX
)之上的内部版本号。 UIActivityViewController似乎不喜欢低于其他任何东西。注释掉beta代码,一切正常。