ios - 地理围栏 iOS8 : Require Background Mode for iOS Geofencing

标签 ios background-process geofencing

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

4年前关闭。




Improve this question




我在我的应用程序中使用了地理围栏。

地理围栏功能说明:

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

  • 重置围栏:
    如果用户将进入该区域并且该区域具有重置围栏的功能,则应用程序将调用一个 Web 服务并获取新的围栏列表。此功能也应该在后台模式下工作。
  • 应用程序打开:
    如果用户将进入该区域并且该区域具有 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 米半径的围栏。

    现在我的问题是,
  • 我应该使用后台模式“应用程序注册位置更新”来监控跨区域
  • 我使用以下代码在后台模式下调用“重置围栏”的网络服务。

    -(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 启动。我们重新提交了应用程序并获得了批准。

    关于ios - 地理围栏 iOS8 : Require Background Mode for iOS Geofencing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26118210/

    相关文章:

    ios - 如何从不同的 ViewController 执行 collectionView 类

    javascript - 提取API并使其数据可跨组件访问

    ios - react-native 添加新字体在 IOS 模拟器上给出 'Unrecognized font family'

    Flutter 定位包无法在后台运行

    bash - 如何等待孙进程 (`bash` retval 在 Perl 中由于 SIG CHLD 变为 -1)

    ios - 使用 Alamofire 下载视频会卡住 Swift iOS 中的 UI

    ios - 即使应用程序未运行,如何拥有一个可用的地理围栏?

    ios - 可重用标识符单元与返回单元子类?

    ios - 像 Uber 一样基于地理围栏在 iOS 9 中的 App Switcher 上显示应用程序快捷方式

    jquery - 在Here API(GEO FENCING)中动态传递路线路径和栅栏路径以跟踪目标