我正在开发一个iphone应用程序,我认为它的业务逻辑要求服务始终在后台运行。
所需的服务是获得设备的加速,并在该加速度变为特定值时通知或执行某个动作。
Apple政策允许这样做,还是对解决方案有任何想法?
cydia开发的可能性对我有什么帮助?
答案 0 :(得分:0)
嗯,一个应用程序可以在后台运行,Apple完全接受这个,但用户显然可以通过多任务栏关闭应用程序(或应该能够),这将结束应用程序。周期。
Apple不会接受持续运行的应用程序,无论用户是否处于后台状态,因为这会耗尽电池,加热设备等。因此,只要用户可以在后台运行,应用程序就可以在后台运行从多任务栏关闭它但是在用户通过多任务关闭它之后它无法继续运行 - 如果它继续,Apple将拒绝该应用程序。
此外,请参阅Apple Store评论指南2.16:https://developer.apple.com/appstore/resources/approval/guidelines.html#functionality
答案 1 :(得分:0)
Dbramhall遗漏了一件重要的事情:
您不能保证您的应用不会被杀死,如果需要更多内存,操作系统可以随意杀死后台应用。
因此,如果可能的话,我不会依赖确保它可以在后台运行它的过程,然后再问“我怎么能阻止这个?”。好吧,你不应该我自己从未尝试过,因为我不知道它对操作系统的影响。
此外,如果你阻止它在后台被杀,如果它将在应用程序商店中,那么它将不会通过评估过程,因为它会破坏操作系统