如何设置UIActivityViewController Gmail分享主题与正文不同

11

我正在使用Google的Gmail分享扩展。我提供以下实现:

- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType;

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController;

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;

对于邮件客户端(来自苹果公司),它会进入以下委托方法,但 Gmail 不会。

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;

相反,它显示的主题和正文文本相同。我想知道如何为Gmail共享选项设置与正文文本不同的主题。


几个小时前我也遇到了完全相同的问题,真是个谜啊 :| - Shai
@Shai 我在Gmail分享扩展方面遇到了很多问题。我为一些问题找到了解决方法,但还有一些是谜 :( - sanjana
@Glenn 我现在没有任何希望 xD - sanjana
1
问题仍然存在。 - melbic
2
这是2020年,问题仍然存在。 - M Reza
显示剩余7条评论
3个回答

2
解决方案非常简单-需要将传递给活动项目列表。
以下是Swift示例:
ActivityViewController(activityItems: [URL(string: "https://www.apple.com")!])

以下是Xamarin相关内容:

    public override NSObject GetItemForActivity(UIActivityViewController activityViewController, NSString activityType)
    {
        NSObject item = null;
        if (activityType == UIActivityType.Mail)
        {
            item = PlaceholderItem;
        }
        else if (activityType == new NSString(_gmailActivityId))
        {
            item = NSUrl.FromString("https://www.apple.com");
        }
        else if (activityType == new NSString(_sparkActivityId))
        {
            item = PlaceholderItem;
        }
        return item ?? base.GetItemForActivity(activityViewController, activityType);
    }

从这个角度来看,如果您传递任何字符串项 - 它们都将被复制。App Store、Facebook和其他应用程序正在传递URL或URL+图像 - Gmail客户端似乎也在处理这些内容。


1
我已经为此奋斗了几天,但所有的内容都被标记为已知的错误。今天早上在 Reddit 上浏览时,仅仅是为了好玩,我发现他们成功地至少有一个空主题字段,问题是,如何做到的?Reddit 上的任何人都可以吗?如果您在本机邮件应用程序中共享相同的内容,则会将主题字段填充为帖子的标题,这是预期的行为。reddit 更新: 伙计!这个人找到了 Reddit iOS 上的解决方法(我注意到 Slack 也这样做)https://dev59.com/0JHea4cB1Zd3GeqPomjL#51451433 他们在正文文本的开头添加了很多空格!拍了一张截图比较原始邮件(在左侧)和 Gmail(在右侧)的正文: solution

我在文本开头填充了2000个空格字符,但仍然无法得到一个干净的主题字段。我应该使用特殊字符吗? - Danilo Campos
我也遇到了同样的问题 =( 我尝试了很多特殊字符,比如\n或\r,但都没有达到预期的结果...希望有人能帮助我们解决这个问题... - Carlos Zinato

1

这真的还是 Gmail 的 bug 吗?看起来他们已经有时间修复了。 - bobwki
似乎他们不太关心这个。 - batsansierra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接