iOS:如何在“设置”中列出应用 - >隐私 - >位置服务

时间:2014-09-02 00:00:19

标签: cordova ios8

我有两个非常相似的应用程序。

当我在 iOS8 beta 5 上安装它们时,会列出一个 设置 - >隐私 - >位置服务 另一个没有列在那里。

两个人都没有故意使用定位服务,所以我想将其关闭。

这两款应用都是使用XCode 5.x构建的。

以下是我尝试解决这个问题的方法:

  1. 我仔细比较了有效且无法查找差异的应用之间的xcode配置。
  2. 我使用了grep"位置"在项目文件夹中也查找工作和非工作应用程序之间的配置差异。
  3. 我解压缩.ipa文件并查找.plist文件中的差异
  4. 我确信我所遗漏的任何事情都会在后见之明显而易见,但现在我很难过。

    问题是: 如何在iOS8中的Settings -> Privacy -> Location Services中列出应用程序?

    显而易见的答案"使用位置服务"没有帮助,我需要更深入的回答才能提供帮助。

    这很重要,因为位置服务中列出的应用程序在启动时也会收到此警告消息:

    Allow "app-name" to access your location even when you are not using the app?
    

    这是一个非常不祥的警告,特别是当应用程序不向用户提供任何基于位置的服务时。

    编辑:我已经安装了iOS 8 GM Seed,但仍然会出现此问题。

    编辑:我实际上有几个应用程序,这里是正在使用的phonegap版本的细分以及是否显示警告消息:

    • 3.3.0 - 询问位置
    • 2.7.0 - 作品
    • 2.7.0 - 询问位置
    • 3.3.0-rc1 - 作品
    • 3.3.0 - 作品
    • 3.3.3-rc1 - 询问位置
    • 3.3.0 - 作品
    • 3.3.0 - 工作。

1 个答案:

答案 0 :(得分:0)

这是因为您的应用程序或您的应用程序使用的库使用位置服务。例如,如果您使用地图,则SDK可以是用户当前位置以指示地图上的位置。其他第三方工具(如Flurry SDK等)可能会使用分析数据的用户位置(通常您必须允许这样做)。请检查(和/或)列出您正在使用的所有第三方SDK。如果您将应用程序提交到App Store,它可能会被拒绝。

另外三项建议:

  1. 检查您可能拥有位置的应用程序的info.plist 服务或gps作为硬件要求。
  2. 您已链接到CoreLocation框架
  3. info.plist包含位置为BackgroundMode
  4. 最后,您可以尝试调整位置管理器对象以查看应用程序访问它的位置。这样的事情:Swizzle Locations