【问题标题】:iPhone background network connection by timeriPhone后台网络连接定时器
【发布时间】:2010-09-03 08:59:12
【问题描述】:

我需要编写一个应用程序,它应该每 10 分钟从挂起模式中唤醒,通过 gps 获取用户位置并通过网络将此信息发送到服务器。

根据响应,它应该返回暂停模式或向用户显示本地通知。

有没有办法在 iOS 4 上做到这一点? 我尝试了不同的方法,但唯一对我有用的是开始在后台监视用户位置并将应用程序声明为位置后台应用程序。在这种情况下,它在后台工作并具有网络连接。但是这种方法需要很大的功率并且不被接受,因为应用程序应该 24/7 工作。

可能有一种方法可以编写一些应该在后台工作并每 10 分钟唤醒我的应用程序的守护程序?

【问题讨论】:

    标签: iphone objective-c background ios4


    【解决方案1】:

    显然,Pastebot 尝试对“音频”多任务声明(通过播放无声音频文件)做类似的事情并被拒绝。直到他们实际向用户提供了一个选项来选择他们想要播放的音频文件。它现在在应用商店中。 :)

    在这种情况下:您不想使用位置更新的原因是什么?如果担心电池使用情况,您可以使用“仅更改重大位置”选项,之后您可以暂时更改为更准确的选项。

    【讨论】:

    • 目前我已经把这个问题放在一边,因为我们还有其他任务要做。希望以后能找到合适的解决方案。
    • 仅供参考:我尝试使用“voip”挂钩来实现类似的功能。尽管 Apple 最初接受了我的应用,但它现在已从应用商店中删除。
    【解决方案2】:

    这在您已经尝试过的方法之外是不可能的。

    iPhone 后台任务 API 将允许您在后台运行定位服务。

    没有越狱就无法为 iPhone 编写守护程序,这不是我能够/准备帮助您的事情。

    【讨论】:

    • 越狱是不可接受的,因为该应用程序应该在 App Store 中可用。是否可以将其声明为“voip”应用程序并拥有像Skype这样的持久网络连接?还是苹果不让它通过审核?
    • 除非它在应用程序中使用 VoIP,否则您不能将其声明为使用 VoIP - 在审核期间肯定会被拒绝。
    • 有什么证据会被拒绝,还是你在猜测?
    • 审查指南第 2.16 节“多任务应用程序只能将后台服务用于其预期目的:VoIP、音频播放、位置、任务完成、本地通知等”。
    【解决方案3】:

    App store 友好:使用 iOS4 中的新 API,允许您使用 GPS 定位

    反应用商店:通过将特定的 plist 文件添加到 System/Library/LaunchDaemons/ 来创建一个守护程序,并将您的应用程序放在 Applications/ 下。但是这种方法需要越狱的 iPhone...

    详细信息请google以下关键字:daemon、multitask、background等...

    干杯,劳埃德

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多