2014-09-02 20 views
2

我有两个非常相似的不同应用程序。iOS:如何在设置 - >隐私 - >位置服务中列出应用程序

当我iOS8上测试5安装它们,一个在 设置列 - >高级 - >位置服务 其他没有被列入其中。

两者都没有故意使用位置服务,所以我想关闭它。

这两个应用程序都是用XCode 5.x构建的。

这里是我做了什么来揣摩了这一点:

  1. 我仔细比较的工作和不工作去寻找不同的应用程序之间的Xcode配置。
  2. 我在项目文件夹中使用了grep“Location”,以查找工作和非工作应用程序之间的配置差异。
  3. 我打开了.ipa文件,并期待在的.plist文件

差异我肯定不管我缺少的将是明显的事后,但现在我很为难。

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

“使用位置服务”的显而易见的答案不会有帮助,我需要回答一些比帮助更深的问题。

这是很重要的修正,因为在定位服务中列出的应用也得到启动时此警告消息:

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

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

编辑:我已经安装了iOS 8 GM种子,这个问题仍然存在。

编辑:我其实有几个应用程序,这里显示的使用,以及是否有警告消息版本的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 - 作品。
+0

你检查这个答案吗? http://stackoverflow.com/questions/24062509/ios-8-location-services-not-working – 2014-09-05 11:20:24

+0

另外,检查应用程序注册是否使用任何特殊的库。 – 2014-09-05 11:21:07

回答

0

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

另外三个建议:

  1. 检查它可能有位置 服务或GPS的硬件要求的应用的info.plist中。
  2. 您已连接到CoreLocation框架
  3. info.plist中包含位置作为BackgroundMode

最后,你可以尝试调配出来的位置管理对象上看到的应用程序访问它。像这样的东西:Swizzle Locations

+0

对不起@布雷特,但我打算把这个答案投下来。您似乎没有注意到这些应用程序并非有意使用定位服务。如果我正在使用Map SDK,那将非常明显地使用定位服务。我试图帮助善意的人提供这种类型的答案与这个声明:“使用定位服务”的明显答案不会有帮助,我需要更深入的回答,而不是有用的。“我只使用phonegap并列出了具体的版本。这些应用程序都在appstore中。修改你的答案,我会给你投票。 – 2014-09-11 19:03:59

+0

@MichaelPotter,也许你可以通过问一个不同的问题来解决这个问题。应用程序显示在位置服务...当他们向操作系统表明他们使用位置服务时(这是您不需要的答案:-)如果没有您正在使用和/或编码的SDK列表很难指出你的应用正在做什么,因为它可能是很多事情。我已经修改了我的答案以获取更多建议。 – Brett 2014-09-11 20:10:36

+0

我已经下调了你的答案,并会在接下来的几个小时内检查你的建议。这是有帮助的答案类型;你可能会赢得赏金。 – 2014-09-11 21:44:35

相关问题