Geofence iOS8:需要iOS Geofencing的后台模式

Geofence iOS8:需要iOS Geofencing的后台模式,第1张

概述我在我的应用中使用了地理围栏. 地理围栏功能描述: 应用程序在进入或退出该区域时有两种类型的功能: >重置围栏: 如果用户将进入该区域并且该区域具有重置围栏的功能,则app将调用一个Web服务并获取新的围栏列表.此功能也应该在后台模式下工作. > App Open: 如果用户将进入该区域并且该区域具有app_open的功能,那么app将会 *a. Show alert, if the app is 我在我的应用中使用了地理围栏.

地理围栏功能描述:

应用程序在进入或退出该区域时有两种类型的功能:

>重置围栏:
如果用户将进入该区域并且该区域具有重置围栏的功能,则app将调用一个Web服务并获取新的围栏列表.此功能也应该在后台模式下工作.
> App Open:
如果用户将进入该区域并且该区域具有app_open的功能,那么app将会

*a. Show alert,if the app is in foreground mode* *b. Show notification,if the app is in background mode*

我已经使用区域监控来实现此功能,并且也不希望使用显着的位置更改,因为应用程序设置了大约100到200米半径的围栏.

现在我的问题是,

>我应该使用后台模式“App register for location updates”来监控区域交叉
>我使用下面的代码在后台模式中调用’reset fence’的web服务.

– (voID)beginBackgroundUpdateTask
 {
     self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^ {
     [self endBackgroundUpdateTask];
     }];
 }

– (voID)endBackgroundUpdateTask
 {
    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask];
self.backgroundUpdateTask = uibackgroundtaskInvalID;
 }

因此,我应该在[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandle中应用info.pList中的任何设置.

请进一步指导我.我在互联网上搜索过很多但仍未找到上述两个问题的具体答案.

注意:由于后台模式“位置更新”,苹果已拒绝该应用.请建议我苹果不会拒绝该应用程序的方式.

以下是原因.

2.16:多任务应用程序只能将后台服务用于其预期目的:VoIP,音频播放,位置,任务完成,本地通知等.—– 2.16 —–
我们发现您的应用使用后台模式,但不包含要求该模式持续运行的功能.此行为不符合App Store审查指南.
我们注意到您的应用程序在Info.pList中的uibackgroundmodes键中声明了对位置的支持,但不包括需要持久位置的功能.
在应用程序处于后台时添加需要持续使用实时位置更新的功能或从uibackgroundmodes键中删除“位置”设置是合适的.如果您的应用程序不需要持久的实时位置更新,我们建议您使用重要更改位置服务或区域监控位置服务.

非常感谢提前.

解决方法 我们的应用程序因同样原因被拒绝.如果您所做的只是区域监控,则不需要位置更新后台模式.我们将其关闭,我们的区域监控工作正常.即使应用程序未运行,它也会在用户进入该区域时由iOS启动.我们重新提交了应用程序并获得批准. 总结

以上是内存溢出为你收集整理的Geofence iOS8:需要iOS Geofencing的后台模式全部内容,希望文章能够帮你解决Geofence iOS8:需要iOS Geofencing的后台模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存