我已阅读有关背景执行的ios指南的章节(https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html)
从文档中可以清楚地看到,当您的应用需要使用后台服务时,通过申请审批流程并不容易。应用程序必须具有使用此类服务的合法理由,例如VOIP和geoTracking。不幸的是,我的两者都不是。
我的应用程序在太阳升起和太阳落山时间播放音频通知文件(加上振动设备)。这就是整个应用程序的全部内容。 (我有一个公式,根据用户当前的纬度/日志和时区计算每日太阳升起/设定时间。)
一旦计算当天的每日时间,它就会设置一个计时器并等待那个确切的时刻。随着日期的变化,它会再次计算公式,因此新的一天的太阳升起/设定时间会透明地调整。
由于太阳升起和日落时间每天都在变化,因此无法安排设定的时间 - 就像报警应用程序一样。
执行此操作的最简单,最合乎逻辑的方法是通过计时器。由于这个原因,我认为这个应用程序对后台服务的需求是非常合法的。但我真的怀疑苹果会以同样的方式思考。
如果Apple拒绝这样做,我会采用什么策略(作为替代方式)来实现同样的目标?有任何想法吗? (我不想使用push notif)。