【问题标题】:UIActivityViewController Gmail Share subject and body going SameUIActivityViewController Gmail 分享主题和正文 相同
【发布时间】:2015-12-14 10:30:52
【问题描述】:

我正在通过UIActivityController分享一些内容。

它适用于其他选项。

我可以在默认邮件应用程序中获得subjectbody

但是当我使用与gmail 共享内容时,我的邮件Subject 消失了,我在Gmail Subject's 部分收到Body 内容:

这是我的代码:

    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];

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

使用默认应用:

使用 Gmail:

我也在 SO 上尝试了不同的答案。但它们都不起作用。

【问题讨论】:

  • 有解决这个问题的办法,我也遇到同样的问题?
  • @San007 不,兄弟。没有得到任何解决方案。
  • 我看到了同样的问题。都2017年了,还没有解决办法?
  • 在谷歌产品论坛上创建并发布与这张票相关的,请投票:productforums.google.com/forum/#!topic/gmail/…
  • 2018 年仍未修复。????我们无法停止与电子邮件客户端的共享。

标签: ios objective-c xcode6 gmail uiactivityviewcontroller


【解决方案1】:

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

查看其他 Google 拥有的产品,并尝试通过 Gmail 共享一些内容,您会看到 Gmail 共享活动没有主题(例如 Google Chrome),或者与电子邮件的正文相同(Google翻译器),而如果您将它们共享到普通应用程序,则其中一些似乎有主题。因此,即使是 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;
}

【讨论】:

  • 我知道每个人都将其报告为错误,但我今天看到 Reddit 设法在他们的应用程序中删除了“主题”。我在这里发布了更多信息:stackoverflow.com/a/56646569/1272263
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
相关资源
最近更新 更多