【发布时间】:2016-10-23 13:22:00
【问题描述】:
我通过共享来自其他应用程序的内容看到,在使用共享表共享到 Gmail 邮件应用程序时,可以设置不同的主题和正文。我已经实现了它,它在本机邮件应用程序上运行良好,但在 Gmail 上运行良好。
进入 Yelp 并分享业务,然后从分享表中选择 gmail,我发现主题和正文是不同的。主题包含公司地址,正文包含地址 + Yelp 上的公司链接。
我已尝试在本机邮件应用上成功复制此逻辑,但在 Gmail 应用中却没有。
我尝试了以下方法:
实现 UIActivityItemSource 方法
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self] applicationActivities:nil];
- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
return @"";
}
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
return @"body";
}
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType {
return @"subject";
}
结果
Apple 邮件主题设置为“主题”,正文设置为“正文”
Gmail 主题设置为“正文”,正文设置为“正文”
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType
分享到 Gmail 应用程序时从不调用。
然后我尝试更hack的方法
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"body"] applicationActivities:nil];
[activityViewController setValue:@"subject" forKey:@"subject"];
结果
Apple 邮件主题设置为“主题”,正文设置为“正文”
Gmail 主题设置为“正文”,正文设置为“正文”
有什么方法可以让 Gmail 表现得像 Apple Mail?
我再次看到 Yelp 和 Safari 等其他应用程序通过共享表从 Gmail 应用程序中获得了正确的行为。任何建议将不胜感激,谢谢。
【问题讨论】:
-
看起来 Gmail 只是从正文拉到第一个空行并将其作为主题
-
@dan 你有我可以试试的测试字符串吗?我试过@“这是第一部分。\n\n这是第二部分。”但仍然是相同的行为。
-
嗨!你找到解决方案了吗?我也面临同样的问题
-
也卡在这里...有什么解决办法吗?谢谢
-
React Native 也出现了问题。 Gmail 决定只使用正文并将其放在主题中。
标签: ios ios9 uiactivityviewcontroller