当从 UIActivityViewController 调用时,WhatsApp 在选择收件人后冻结

When Called From UIActivityViewController WhatsApp Freezes After a Recipient Is Selected

我正在使用 UIActivityViewController 分享我的 iOS 应用。

当从选项列表中 select 编辑 WhatsApp 时,它会将我带到正确的屏幕。我可以四处走动,而且所有按钮都可以使用。

但是,一旦我 select 收件人,WhatsApp 就会冻结。

有人知道这里发生了什么吗?以前有人遇到过这个错误吗?

编辑(添加代码)

这是我用来调用 UIActivityViewController:

的代码
- (void) sharePressed:(UIBarButtonItem *)sender {

NSString* shareText = @"Hello World!";

UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[shareText] applicationActivities:nil];

[self presentViewController:controller animated:YES completion:nil];


NSLog(@"This method ran: sharePressed");
}

这是最基本的。它适用于除 WhatsApp 之外的所有内容。

试试这个代码

- (IBAction)shareButton:(UIBarButtonItem *)sender
{
    NSString *textToShare = @"Look at this awesome website for aspiring iOS Developers!";
    NSURL *myWebsite = [NSURL URLWithString:@"http://www.codingexplorer.com/"];

    NSArray *objectsToShare = @[textToShare, myWebsite];

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

我认为该错误实际上是 whatsapp 或 UIActivityViewController 的内部问题,因为我使用 UIActivityViewController 的其他应用程序昨晚无法在 whatsApp 上共享。不过今天早上,尽管我没有更改我的代码中的任何内容,但一切正常!

我认为是昨天更新后 WhatsApp 中的一个错误。

更新:您可以发送 NSUrl 而不是 NSString。