【问题标题】:iPhone Email app launch urliPhone 电子邮件应用程序启动网址
【发布时间】:2009-12-21 21:19:20
【问题描述】:

在 iPhone 上启动电子邮件和开始新电子邮件的 URL 是“mailto://someone@somwhere.com”。我只想启动电子邮件应用程序,将用户放在主菜单或收件箱中。

“mailto:”开始撰写新的空白电子邮件

我试过“mail:”、“email:”和其他一些。有没有办法只启动电子邮件应用程序?

【问题讨论】:

  • 我认为答案是“不”。我没有接受答案,因为我认为他们的理由都是错误的。如果有人只是发布“不,你不能”,我会接受。
  • 如果你错过了,下面有一个excellent answer,链接到this article。您可以打开邮件应用程序。您甚至可以您的特定注册回复电子邮件中打开它。

标签: iphone objective-c cocoa-touch


【解决方案1】:

自从 iOS 7 使用消息 ID 技巧以来,这现在已经成为可能。使用带有虚拟消息 ID(例如 0)的 URL message:<messageID>

查看此blog post 了解更多信息:

此 URL 方案和行为的一个令人愉快的副产品是,您可以使用虚拟字符串作为 message-id 来启动 Mail 应用程序,而无需深度链接到特定电子邮件。这可以实现应用程序可能希望将用户直接启动到他们的收件箱的场景,例如验证他们的电子邮件地址以完成注册过程。

【讨论】:

  • 虽然是最好的死灵之一。非常感谢!
  • 这太棒了,也是一个很好的答案。您大概可以使用 UUID 作为消息 ID,并在请求登录链接时将其告知服务器后端,或者仅使用固定 ID。然后,您可以直接跳转到电子邮件。也许在给他们“打开电子邮件”按钮之前引导用户完成教程,让他们有时间打开电子邮件。
【解决方案2】:

我不这么认为,因为 url 方案的整个想法是根据您自己的应用程序中的某些上下文启动另一个应用程序。观看特定的 YouTube 视频、写电子邮件等。

此外,这听起来像是一个奇怪的要求 - 为什么您只想将它​​们发送到他们的电子邮件客户端而不让他们撰写电子邮件?

【讨论】:

  • 他的应用程序可能会说“检查您的电子邮件以完成注册”之类的。
  • 啊,好点子。即使是这种情况,我想说正确的设计是假设用户可能很清楚如何在他们的 iPhone 上查看他们的电子邮件。如果他们没有开启推送电子邮件,他们会知道通知何时到来,甚至可能会遇到任何延迟。
  • 宾果游戏。是的,我们决定让他们自己弄清楚,但出于好奇,我认为这仍然值得一问。
  • 就您的回答而言,我认为您的论点不正确。 url 方案的想法是启动应用程序......不暗示上下文。查看这个已知 url 方案列表,了解大量不带参数的示例——applookup.com
【解决方案3】:

您是否尝试过使用无效的电子邮件地址? mailto://!!! 之类的东西?

【讨论】:

  • 有趣的想法。有机会我会试试的。我猜即使它有效,它也会给用户一个通知。
【解决方案4】:

来自文档(添加了突出显示)。

mailto 方案用于启动 Mail 应用程序并打开 电子邮件撰写表。 指定 mailto URL 时,您必须提供 目标电子邮件地址。

所以看起来你不能做你想做的事。

-t

【讨论】:

  • mailto:// 方案不能做我想做的事,但这并不意味着该应用没有注册另一个可以做到的 url 方案。
  • 除非您可以找到 SDK 文档中记录的 URL 方案 - 使用它将违反您的开发者协议并且您的应用程序将被拒绝。我在 SDK 文档中没有看到为电子邮件注册的任何其他 URL 方案。对不起。
  • 嗯,会吗?使用其他应用程序的 url 方案并不违反 TOS。我似乎找不到它,但是如果您可以引用我的协议部分或苹果文档中的说明,我很乐意接受您的作为我问题的答案。谢谢蒂姆。
  • 来自开发者协议:3.3.1 应用程序只能以 Apple 规定的方式使用文档化 API,不得使用或调用任何私有 API。
  • 我感谢蒂姆的跑腿工作,我投票支持你,但我很确定使用注册的 url 方案,无论是否宣传,都不属于私有 API 的范畴。他们出于一些非常疯狂的原因而拒绝,但我无法想象他们会因此而拒绝。
【解决方案5】:

不,你不能。

;)

正如蒂姆所说的那样,由于 URL 的处理是自动的,并且试图将 URL 降级到 Mail 应用程序以某种方式抛出并仅显示菜单的位置,这可能会在 App Review 或未来的操作系统中产生不良结果/ Mail App 版本,即使你让它工作,你也可能不喜欢它。你可能想要它,但那是另一回事:)

如果您想“启动应用程序”,请查看此处。 http://iosdevelopertips.com/cocoa/launching-other-apps-within-an-iphone-application.html

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    相关资源
    最近更新 更多