gpt4 book ai didi

ios - 使用 UIPasteBoard 复制 HTML 并粘贴到 Gmail

转载 作者:行者123 更新时间:2023-12-03 17:35:16 29 4
gpt4 key购买 nike

我试图找到一种使用 UIPasteBoard 的方法将 HTML 字符串复制到粘贴板,并能够将其粘贴到 iOS 上的不同邮件客户端。

我尝试了来自 StackOverflow 的两个公认答案:https://stackoverflow.com/a/6566850/1249958https://stackoverflow.com/a/21911997/1249958 .这些解决方案适用于默认的 iOS 邮件客户端,但它们对 Gmail 没有任何影响。

我知道 Gmail 接受来自粘贴板的 HTML 输入,因为从 Safari 复制 HTML 并将其粘贴到 Gmail 应用程序中可以按预期工作。

最佳答案

这会将 HTML 和纯文本放在粘贴板上,并且可以粘贴到 GMail 中。

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];

NSString *iOSRichContentKey = @"iOS rich content paste pasteboard type";
NSData *iOSRichContent = [iOSRichContentKey dataUsingEncoding:NSUTF8StringEncoding];

NSString *sampleHTML = @"This is <span style='font-weight:bold'>HTML</span>";

NSString *appleWebArchiveKey = @"Apple Web Archive pasteboard type";
NSData *sampleHTMLData = [sampleHTML dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = @{@"WebMainResource": @{@"WebResourceData": sampleHTMLData, @"WebResourceFrameName": @"", @"WebResourceMIMEType": @"text/html", @"WebResourceTextEncodingName": @"UTF-8", @"WebResourceURL": @"about:blank"}};
NSData *appleWebArchive = [NSPropertyListSerialization dataWithPropertyList:dict format:NSPropertyListBinaryFormat_v1_0 options:0 error:nil];

NSString *plainTextKey = @"public.utf8-plain-text";
NSString *plainText = @"this is plain text";

[pasteboard setItems:@[@{iOSRichContentKey : iOSRichContent, appleWebArchiveKey : appleWebArchive, plainTextKey : plainText}]];

关于ios - 使用 UIPasteBoard 复制 HTML 并粘贴到 Gmail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45786067/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com