UIActivityViewController Gmail共享主题和正文相同

Dal*_*vik 24 gmail objective-c ios uiactivityviewcontroller xcode6

我正在分享一些内容UIActivityController.

它适用于其他选项.

我能得到subject并且body在默认的邮件应用程序.

但当我用来共享内容时,gmailSubject的邮件已经消失,我Body在Gmail Subject's部分获取内容:

这是我的代码:

    NSString *body = @"I am Body";
NSString *tagLine = @"I am Subject";

   NSArray *objectToShare = [NSArray arrayWithObjects:body, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectToShare applicationActivities:nil];

[activityVC setValue:tagLine forKey:@"subject"];

NSArray *excludeActivities = @[UIActivityTypeAirDrop,
                               UIActivityTypePrint,
                               UIActivityTypeAssignToContact,
                               UIActivityTypeSaveToCameraRoll,
                               UIActivityTypeAddToReadingList,
                               UIActivityTypePostToVimeo];

activityVC.excludedActivityTypes = excludeActivities;

[self presentViewController:activityVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

为了更好的图片这里是截图:

使用默认应用:

在此输入图像描述

使用Gmail: 在此输入图像描述

我也尝试过不同的答案.但它们都不起作用.

Ami*_*n3t 5

在撰写本文时,Google 不允许设置电子邮件主题。人们多次将其报告为错误,但似乎仍不支持此功能。

查看其他谷歌自有产品,尝试通过Gmail分享一些内容,你会发现Gmail分享的活动没有主题(例如谷歌浏览器),或者与电子邮件正文相同(谷歌翻译),而如果您将它们分享到普通应用程序,则其中一些似乎有主题。因此,即使是 Google 产品也有相同的行为。

如果您在subjectForActivityType函数内使用断点,您将意识到 Gmail 活动不会到达断点,而默认邮件和其他活动将尝试阅读主题。

@implementation EmailItemProvider

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
    return _body;
}

- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
    return _body;
}

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType {
    return _subject;
}
Run Code Online (Sandbox Code Playgroud)