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

时间:2016-04-13 01:30:29

标签: ios objective-c whatsapp uiactivityviewcontroller

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

当从选项列表中选择WhatsApp时,它会将我带到正确的屏幕。我可以四处走动,所有按钮都可以工作。

但是,一旦我选择了收件人,WhatsApp会冻结。

有谁知道这里发生了什么?有没有人遇到过这个bug?

编辑(已添加代码)

以下是我用来调用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之外的所有内容。

3 个答案:

答案 0 :(得分:2)

试试这段代码

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

答案 1 :(得分:1)

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

答案 2 :(得分:-1)

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

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