当从 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。
我正在使用 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。