UIActivityViewController无法在iPad上工作?iOS 8



我遵循了类似SO问题的建议,但似乎无法做到这一点。我正在做一个游戏,它报告最后一个分数,然后为最后一个得分提供一个共享按钮。

这适用于iPhone,我的iPad代码如下所示。我一按"共享"按钮,iPad版本就崩溃了。这段代码来自编码资源管理器上的本教程。

iPad代码(不起作用)

- (IBAction)shareButton:(id)sender;
{
    NSString * text = [NSString stringWithFormat:@"I just scored %li in Flying Freddy. Think you can beat it? https://itunes.apple.com/app/id1033007818", (long)_score];
NSArray *objectsToShare = @[text];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
NSArray *excludeActivities = @[UIActivityTypeAirDrop,
                               UIActivityTypePrint,
                               UIActivityTypeAssignToContact,
                               UIActivityTypeSaveToCameraRoll,
                               UIActivityTypeAddToReadingList,
                               UIActivityTypePostToFlickr,
                               UIActivityTypePostToVimeo];
activityVC.excludedActivityTypes = excludeActivities;
[self presentViewController:activityVC animated:YES completion:nil];
}

iPhone代码(确实有效)

- (IBAction)ShareIt {
    NSString * text = [NSString stringWithFormat:@"I just scored %li in Flying Freddy. Think you can beat it? https://itunes.apple.com/app/id1033007818", (long)_score];
    NSArray * activityItems = @[text];
    UIActivityViewController * avc = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    avc.excludedActivityTypes = @[ UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll];
    [self presentViewController:avc animated:YES completion:nil];    
}

您必须添加一个源代码视图。

尝试添加以下行:

activityVC.popoverPresentationController.sourceView = self.view;

您还可以添加箭头方向:

activityVC.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionRight;
activityVC.popoverPresentationController.sourceView = sender;

我还必须设置模式PresentationStyle、preferredContentSize和sourceRect才能让Pipiks的答案发挥作用。