通过EMail打开IOS应用程序

问题描述:

我正在Swift中开发一个IOS应用程序,它允许将数据更新作为电子邮件附件发送。 这些附件具有自定义数据类型,因此当我从电子邮件内部单击它们时,我的应用程序将打开并导入它们。通过EMail打开IOS应用程序

我使用这个下面的代码,它完美的作品:

func application(application: UIApplication!, openURL url: NSURL!, sourceApplication: String!, annotation: AnyObject!) -> Bool { 

    myURL = url                            // invoked by tapping emailed ZXO file 13/02/15 
    return true                            // ... contains file to be imported 
} 

但是这个代码,只有当应用程序是不是在后台,也就是说,如果它是通过电子邮件消息最初被发布调用。 如果应用程序在后台运行,则不会调用它,通常情况下是这样。

我一直在尝试

func applicationWillEnterForeground(application: UIApplication) { 

} 设置数据,但我没有成功。这意味着用户必须在打开电子邮件之前退出应用程序,而这些电子邮件通常会被忘记。

我将不胜感激任何帮助,试图解决这个问题!

您可以通过实施自定义URL方案打开应用程序到您的应用程序。打开您应用程序的plist并向下滚动到底部,您将在其中看到“URL类型”部分。您可以在“Url Schemes”字段中输入方案。因此,举例来说,您可以在该字段中输入“myapp”,然后您可以将链接放入您的电子邮件myapp://然后打开您的应用程序。

请注意,如果应用程序没有安装在设备上,当用户点击该链接时,或者什么都不会发生,或者您会看到一个错误弹出窗口,告诉用户链接无法打开或它是一个无效的链接。

+0

感谢您的回复,但我的问题不是我的应用程序无法打开。问题是应用程序不会打开电子邮件中的URL,除非它从头开始 - 即不在后台运行。我仍然在处理这个问题,并会发布一个答案,如果我能找到一个。 – Ross 2015-04-03 14:07:13