【问题标题】:iPhone: Core Location to keep asking for user permissioniPhone:核心位置不断请求用户许可
【发布时间】:2011-01-08 00:59:18
【问题描述】:

我有一个询问用户位置的应用。然后用户的位置将被发送到服务器。由于第一次在 iPhone 上运行的应用程序会请求许可,如果用户拒绝它,该应用程序将在下一次继续请求它,直到它被允许(AFAIK);但是如果用户允许应用使用位置两次,应用将不会在第三次询问用户的位置。似乎它已按偏好存储。 我的问题是如何让我的应用程序在每次运行我的应用程序时都请求他们的位置许可。

谢谢。

【问题讨论】:

    标签: iphone objective-c permissions


    【解决方案1】:

    使用内置 API 无法做到这一点。您必须建立自己的对话框并确认。

    【讨论】:

    • 如果我放自己的对话框,会有两个。一个来自内置,另一个是我将创建的。
    • 是的,所以您要做的是跟踪您成功获取 CoreLocation 数据的次数。如果你得到它 3 次,你可以假设内置对话框不再显示,并呈现你自己的。这都是理论上的,当然,你应该试验一下。
    • 如何跟踪成功尝试的次数?应该使用 NSUserDefaults 来跟踪成功的次数。显示“APP要使用您当前位置”的对话框是否返回值?我想为跟踪器使用该值或者我需要什么来跟踪它?
    • 如果我要在 NSUserDefaults 中保存获取 CoreLocation 数据的成功尝试次数。如果我要参考用户默认值,例如。如果 (mySuccessfullAttempts > 2) 那么我可以显示我的 AlertView。但是如果用户在设置中重置位置警告。该应用程序将显示默认的 AlertView 和我的 alertView 因为我的应用程序将假定权限已保存在首选项中;并且我的 NSUserDefaults 值大于 2。
    • 这绝不是一个完美的解决方案,是的,如果用户重置他们的警报,他们会收到额外的消息。但是,我认为它与您将要获得的一样接近。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2015-07-11
    相关资源
    最近更新 更多