UIActivityViewController 自动“点击”链接 iOS 7
Posted
技术标签:
【中文标题】UIActivityViewController 自动“点击”链接 iOS 7【英文标题】:UIActivityViewController Automatically 'Clicking' Link iOS 7 【发布时间】:2013-10-25 03:41:06 【问题描述】:我有一个基本的 UIActivityViewController 共享一些文本和一个 URL。共享选项是电子邮件、SMS、Twitter 和 Facebook。在 ios 6 中一切正常,但在 iOS 7 中,当我选择 Twitter 或 Facebook 时,无需触摸任何东西,我的设备会自动关闭我的应用程序,打开 Safari 并转到我要共享的 URL。这可能是什么原因造成的?
代码(CustomActivityItemProvider 是基于共享器自定义文本的子类):
if ([UIActivityViewController class]) // if class exists = ios6+
// Create array for sharing
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc]
initWithStandardText:@"Text to share.\n"];
NSURL *urlToShare = iTunesShort ? iTunesShort : [NSURL URLWithString:iTunesLink];
NSArray *activityItems = @[textToShare, urlToShare];
// Show sharing view
UIActivityViewController *activityVC = [[UIActivityViewController alloc]
initWithActivityItems:activityItems applicationActivities:nil];
activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityVC animated:TRUE completion:nil];
【问题讨论】:
能否上传代码。 我已经完美地测试了它的工作。尝试差异。像 yahoo pr google 这样的 url,然后告诉什么 hhpening。 是的,你是对的。 www.google.com 工作正常。 那么url里面有东西,url是关于什么的? 我已将范围缩小到短网址。完整的 URL 可以正常工作,但是如果我使用缩短服务来生成短 URL,我就会遇到这个问题。 【参考方案1】:所以我仍然不知道为什么只有缩短的 URL 会导致此问题,但解决此问题的解决方案是将 urlToShare
包含在 textToShare
中。
// Create array for sharing
NSString *urlToShare = iTunesShort ? iTunesShort : iTunesLink;
NSString *textWithUrl = [NSString stringWithFormat:@"Text to share.\n%@", urlToShare];
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc]
initWithStandardText:textWithUrl];
NSArray *activityItems = @[textToShare];
【讨论】:
以上是关于UIActivityViewController 自动“点击”链接 iOS 7的主要内容,如果未能解决你的问题,请参考以下文章
UIActivityViewController 共享 UIActivity 未显示
UIActivityViewController 不适用于 WKWebView
限制 UIActivityViewController 共享扩展活动