通过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://然后打开您的应用程序。
请注意,如果应用程序没有安装在设备上,当用户点击该链接时,或者什么都不会发生,或者您会看到一个错误弹出窗口,告诉用户链接无法打开或它是一个无效的链接。
感谢您的回复,但我的问题不是我的应用程序无法打开。问题是应用程序不会打开电子邮件中的URL,除非它从头开始 - 即不在后台运行。我仍然在处理这个问题,并会发布一个答案,如果我能找到一个。 – Ross 2015-04-03 14:07:13