我们的应用程序不使用默认的电子邮件应用程序发送电子邮件,而是使用SMTP实现。现在,当应用程序在前台时-电子邮件使用SMTP连接发送。但是,如果我点击发送,然后切换到另一个应用程序-电子邮件不会被发送。只有当我们恢复到应用程序时,它才会发送。通常,我们希望在应用程序处于后台时发送电子邮件。欢迎任何建议。聊天应用程序是如何轮询新消息的--如果我们得到任何关于这方面的提示--我们也可以完成我们的任务。
发布于 2010-12-15 18:21:44
这是一个好问题。
根据Apple关于多任务的文档:
除了前面的键之外,iOS还提供了另外两种在后台执行工作的方法:
任务完成-应用程序可以向系统请求额外的时间来完成给定的任务。
本地通知-应用程序可以计划在预定时间发送本地通知。
如果您的任务不是一个很长的连续任务,例如VOIP服务、GPS服务或音频服务,您可以将其声明为“有限长度任务”,您可以在后台完成此任务。请记住,MU仅在iOS 4.0中可用,并且仅适用于3GS和4设备。您还应该为不支持MU的其他设备管理这些任务。
根据官方文档,你可以这样做:
您可以使用任务完成来确保重要但可能长时间运行的操作不会在用户离开应用程序时突然结束。例如,您可以使用此技术将用户数据保存到磁盘或完成从网络服务器下载重要文件。您可以使用几种设计模式来启动这些任务:
-[UIApplication beginBackgroundTaskWithExpirationHandler:]
和-[UIApplication endBackgroundTask:]
调用包装任何长时间运行的关键任务。当您的应用程序突然移动到要调用您的应用程序委托的applicationDidEnterBackground:
方法的background.发布于 2010-12-15 16:45:59
苹果对第三方应用程序的一个要求是,你不能在后台运行你的应用程序。我认为,你可以通过在你的applicationShouldTerminate方法中返回NO来完成你的任务,但是你的应用不会被苹果批准发布到AppStore上。
https://stackoverflow.com/questions/4447333
复制相似问题