UIActivityViewController一个集装箱内查看(UIActivityViewCon

2019-10-18 05:28发布

我用一个容器视图内UIActivityViewController。 我想通过电子邮件,Twitter和Facebook分享一些文字。 而最后两部作品完美我有电子邮件问题。 问题是,作曲家观点不无论是取消该事件也不由要发送解聘! 当ActivityView出现我得到以下信息:

Launch Services: Registering unknown app identifier com.apple.mobilemail failed 
Launch Services: Unable to find app identifier com.apple.mobilemail

这就奇怪了,因为真的是有与应用程序标识没有问题,我可以分享与电子邮件文本,在其他视图控制器使用ActivityViewController(不用时容器视图)。 我的代码,如下:

- (void)openBtnTouched {
    NSString *alertTitleString = [[[GlobalVariables sharedInstance].alertsArray objectAtIndex:self.selectedIndex]objectForKey:@"alertTitle"];
    NSString *alertMsgString = [[[GlobalVariables sharedInstance].alertsArray objectAtIndex:self.selectedIndex]objectForKey:@"alertMessage"];

    UIActivityViewController *activity;

    activity = [[UIActivityViewController alloc] initWithActivityItems:@[alertTitleString,alertMsgString] applicationActivities:nil];

    activity.excludedActivityTypes = @[
                                       UIActivityTypeMessage,
                                       UIActivityTypePostToWeibo,
                                       UIActivityTypeSaveToCameraRoll,
                                       UIActivityTypeAssignToContact,UIActivityTypeCopyToPasteboard];

    activity.completionHandler = ^(NSString *activityType, BOOL completed){
        NSLog(@"Activity Type selected: %@", activityType);
        if (completed) {
            NSLog(@"Selected activity was performed.");
        } else {
            if (activityType == NULL) {
                NSLog(@"User dismissed the view controller without making a selection.");
            } else {
                NSLog(@"Activity was not performed.");
            }
        }
    };
    [self presentViewController:activity animated:YES completion:NULL];
}

Answer 1:

我不知道您的应用程序是否适用于iPhone,iPad的,或两者兼而有之,但苹果是非常具体的关于如何显示UIActivityViewController 。 从他们的文档 :

当呈现视图控制器,你必须这样做使用当前设备的适当的手段。 在iPad上,你必须在酥料饼呈现视图控制器。 在iPhone和iPod touch,你必须模态出示。

如果你在一些其他的方式显示它(即,在容器视图控制器),您可能会遇到这种怪异的行为。 我建议你显示活动视图控制器所推荐的苹果。



文章来源: UIActivityViewController inside a Container View