简体   繁体   English

使用UIActivityViewController在电子邮件中发送链接

[英]Send a link in an email using UIActivityViewController

How do I send an email using UIActivityViewController with a quick message and a link? 如何使用UIActivityViewController发送包含快速消息和链接的电子邮件? I have tried using an NSURL: 我尝试过使用NSURL:

NSURL *url = [NSURL URLWithString:@"http://google.com/"];

And an NSString: 还有一个NSString:

// String with Hyperlink syntax
NSString *stringURLHyperlink = @"<a href=\"http://google.com/">Google</a>";

// Plain text link out of desperation.
NSString *stringURLPlain = @"http://google.com/"; 

I am not using a custom UIActivity. 没有使用自定义UIActivity。 The NSString/NSURL are being sent as activityItems: NSString / NSURL作为activityItems发送:

NSArray *activityItems = @[link];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];

Thanks everyone. 感谢大家。

EDIT 1: 编辑1:

My apologies, I should have made my question clearer. 我道歉,我应该让我的问题更清楚。 How can I send a message and a clickable link in an email using UIActivityViewController? 如何使用UIActivityViewController在电子邮件中发送消息和可点击链接?

This seems to work fine in iOS 7: 这似乎在iOS 7中运行良好:

[[UIActivityViewController alloc] initWithActivityItems:@[@"<html><body><b>This is a bold string</b><br\\>Check out this amazing site: <a href='http://apple.com'>Apple</a></body></html>"] applicationActivities:nil];

If you share an object that conforms to the UIActivityItemSource protocol, then you will be able to specify what the email's subject should be too! 如果您共享符合UIActivityItemSource协议的对象,那么您将能够指定电子邮件的主题应该是什么!

tl;dr: Use basic html in an NSString to wrap the desired email contents tl; dr:在NSString中使用基本的html来包装所需的电子邮件内容

In my case, I did not need to post a photo as long as an image was retrieved from the link I needed to share (just like when you post a link on your Facebook timeline and it automatically grabs a picture from that link, and the picture becomes the link). 在我的情况下,只要从我需要分享的链接中检索到图像,我就不需要发布照片(就像你在Facebook时间轴上发布链接一样,它会自动从该链接抓取图片,并且图片成为链接)。 In order to do that, I figured out that if I posted only an URL it does not work. 为了做到这一点,我发现如果我只发布一个URL它不起作用。 You have to post some initial text and then the URL, and you do so by putting the objects in that order within the activityItems array. 您必须发布一些初始文本然后发布URL,并通过在activityItems数组中按顺序放置对象来实现。

This is my working code: 这是我的工作代码:

NSArray * activityItems = @[[NSString stringWithFormat:@"Some initial text."], [NSURL URLWithString:@"http://www.google.com"]];
NSArray * applicationActivities = nil;
NSArray * excludeActivities = @[UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeMessage];

UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
activityController.excludedActivityTypes = excludeActivities;

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

I also noticed that if you post a photo along these objects, it will not retrieve any image from the link. 我还注意到,如果沿这些对象发布照片,它将不会从链接中检索任何图像。

I hope this helps. 我希望这有帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 UIActivityViewController发送带有附件的电子邮件 - UIActivityViewController send email with attachment 使用UIActivityViewController的电子邮件共享 - Email Sharing using UIActivityViewController 使用UIActivityViewController将PDF附加到电子邮件 - Attach PDF to email using UIActivityViewController 使用UIActivityViewController在iPad上清空电子邮件正文 - Empty email body on iPad using UIActivityViewController 使用 UIActivityViewController 向特定电话号码发送短信 - Send SMS to specific phone number using UIActivityViewController 如何使用UIActivityItemProvider发送带有UIActivityViewController附件的电子邮件? - How do I use UIActivityItemProvider to send an email with attachment with UIActivityViewController? 如何使用swift使用UIActivityViewController只通过电子邮件分享 - how to share only through email using UIActivityViewController using swift 使用Xcode中的UIActivityViewController填写电子邮件标题(和附加文件) - Filling in email header (and attaching file) using UIActivityViewController in Xcode 想要仅使用UIActivityViewController通过iOS中的电子邮件共享应用程序 - want to share app only by email in iOS using UIActivityViewController UIActivityViewController-电子邮件和Twitter分享 - UIActivityViewController - Email and Twitter sharing
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM