2012-05-16 55 views
0

我有一个跟踪野生动物的应用程序,用户根据他们的观察结果输入数据(例如用户输入他们看到的3只驼鹿)。数据然后被上传到服务器。但是,因为这个应用程序将用于没有互联网连接的领域,所以我希望在没有连接的情况下保存数据,并在网络可用时尽快上传数据。一旦网络可用,iOS应用程序将数据上传到服务器

我知道可达性,但它看起来像我只能检查,如果互联网连接可用的那一刻,并在后台不检查互联网连接

所以总结:

  1. 如果有互联网连接当用户提交数据时,那很好。
  2. 如果没有网络连接,当用户提交数据时,我想保存这些数据。只要有互联网连接,我想要上传数据,而不需要用户再次打开应用程序。我不能依靠用户再次打开应用程序导致数据被提交,因为他们可能只使用这个应用程序超出了单元塔的范围,并且可能永远不会在具有网络连接的位置运行该应用程序,所以它必须自动为他们提交这些数据。

环顾四周,我找不到答案,所以我开始怀疑......这甚至有可能吗?

回答

0

不,Apple不允许应用程序在后台为此目的无限期地运行,并且它们不允许远程触发应用程序或任何此类性质的应用程序。充其量,您可以让应用程序在后台运行以获取有关主要位置更改的通知,但您必须将其作为适当的功能,而不是绕过此限制,否则您的应用程序将无法获得批准苹果。

0

我知道有可能在后台使用网络,但只能在用户关闭应用程序后的有限时间内使用。您可以创建一个计时器来检查网络连接(使用Reachability或通过ping Google)并设置计时器在应用程序关闭后每分钟启动一次。这不是一个非常有效的解决方案,但它可能工作。你应该看看应用程序关闭后你能保持连接多长时间,但我认为它是5-10分钟。

+0

达尼特......没想到。谢谢。 – Daniel

相关问题