【问题标题】:iPhone Background Services DevelopmentiPhone后台服务开发
【发布时间】:2012-02-01 18:17:57
【问题描述】:

我正在开发一个 iphone 应用程序,我认为它的业务逻辑要求服务始终在后台运行。

所需的服务是获取设备的加速度,并在加速度达到一定值时通知或执行某个动作。

Apple 政策是否允许这样做,或者是否有任何解决方案的想法?

什么 cydia 开发可能性可以帮助我?

【问题讨论】:

    标签: iphone notifications jailbreak background-service


    【解决方案1】:

    Dbramhall 遗漏了一件重要的事情:

    你不能保证你的应用不会被杀掉,如果需要更多内存,操作系统可以随意杀掉后台的应用。

    因此,如果可能的话,我不会依赖确保它可以在后台运行其进程,在您问“我该如何阻止这个?”之前。好吧,您不应该我自己从未尝试过,因为我不知道它对操作系统的影响。

    另外,如果你阻止它在后台被杀死,如果它要在应用商店中,那么它就不会通过评估过程,因为它会破坏操作系统

    【讨论】:

    • cydia 开放式开发工具能帮到我吗?
    • 我相信 cydia 是越狱 iPhone 的“iTunes”。所以我不确定你的评论是什么意思
    【解决方案2】:

    好吧,应用程序可以在后台运行,Apple 完全接受这一点,但是用户显然可以通过多任务栏关闭应用程序(或应该能够),这将结束应用程序。期间。

    无论用户是否处于后台状态,Apple 都不会接受持续运行的应用程序,因为这会耗尽电池、加热设备等。因此,只要用户可以在以下情况下退出应用程序,应用程序就可以在后台运行从多任务栏关闭它,但是在用户通过多任务关闭它后它无法继续运行 - 如果它继续运行,Apple 将拒绝该应用程序。

    另外,请参阅 Apple Store 审查指南的 2.16:https://developer.apple.com/appstore/resources/approval/guidelines.html#functionality

    【讨论】:

    • 谢谢,是否有任何方法可以强制 iOS 忽略苹果政策或以不同的方式提出这个想法?
    • 据我所知,不,但您可以使用:application:didFinishLaunchingWithOptions: applicationDidBecomeActive: applicationWillResignActive: applicationDidEnterBackground: applicationWillEnterForeground: applicationWillTerminate:
    • 我做了,但我无法从进入后台时获取位置和速度
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多