【发布时间】:2014-11-19 23:09:28
【问题描述】:
我正在为 iPad 构建一个文章阅读应用程序。我已经集成了一个社交分享功能,这意味着用户可以在 Facebook 和谷歌邮件上分享文章。
我正在使用UIActivityViewController 进行分享。
有一个条形按钮项目,当用户点击UIActivityViewController 打开时。我更新了Xcode 6
当我在模拟器上运行时,它运行良好但我在带有 iOS 7 的真实设备(iPad)上运行,应用程序在单击栏按钮项时崩溃。
这是我的代码:
- (IBAction)ysshareAction:(id)sender
{
NSURL *linkURL = [NSURL URLWithString:_DetailModal1[4]];//article url
NSMutableAttributedString *stringText = [[NSMutableAttributedString alloc] initWithString:_DetailModal1[0]];//_DetailModal1[0] contain article title////
[stringText addAttribute:NSLinkAttributeName value:linkURL range:NSMakeRange(0, stringText.length)];
NSArray * itemsArray = @[[NSString stringWithFormat:@"%@",_DetailModal1[0]], [NSURL URLWithString:_DetailModal1[4]]];
NSArray * applicationActivities = nil;
UIActivityViewController * AVC = [[UIActivityViewController alloc] initWithActivityItems:itemsArray applicationActivities:applicationActivities];
AVC.popoverPresentationController.sourceView = _webView;
[self presentViewController:AVC animated:YES completion:nil];
[AVC setCompletionHandler:^(NSString *act, BOOL done)
{
if([act isEqualToString:UIActivityTypeMail]) {
ServiceMsg = @"Mail sent!";
} else if([act isEqualToString:UIActivityTypePostToTwitter]) {
ServiceMsg = @"Article Shared!";
} else if([act isEqualToString:UIActivityTypePostToFacebook]) {
ServiceMsg = @"Article Shared!";
} else if([act isEqualToString:UIActivityTypeMessage]) {
ServiceMsg = @"SMS sent!";
} else if([act isEqualToString:UIActivityTypeAddToReadingList]) {
ServiceMsg = @"Added to Reading List";
} else if([act isEqualToString:UIActivityTypeCopyToPasteboard]){
ServiceMsg = @"Copied Link";
}
if ( done )
{
UIAlertView *Alert = [[UIAlertView alloc] initWithTitle:ServiceMsg message:@"" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
[Alert show];
}
}];
}
感谢您的帮助!
【问题讨论】:
-
请在您的问题中提及崩溃日志。
标签: ios objective-c ipad uipopovercontroller uiactivityviewcontroller