【问题标题】:requestWhenInUseAuthorization error on IOS 7.1IOS 7.1 上的 requestWhenInUseAuthorization 错误
【发布时间】:2014-12-18 09:46:37
【问题描述】:

我正在使用最新的 Xcode 版本来开发一个处理地理定位的应用程序。 我使用这行代码并且已经在我的 plist 文件中添加了描述:

[self.locationManager requestWhenInUseAuthorization];

这在 iOS 8 上完美运行,但在 iOS 7 上仍然无法运行。 如何在 iOS 7 和 8 版本上处理地理定位(提示用户并更新其位置)?

编辑

在 Xcode 6 上,我的基础 SDK 是 iOS 8,我的部署目标是 7.0 及更高版本(此处代码运行良好)。 如果我想在以前的版本(例如 7.0)上启动模拟器,我需要使用 Xcode 5 启动项目。这就是我得到错误的地方。

【问题讨论】:

    标签: ios xcode geolocation maps


    【解决方案1】:

    在我的应用程序中,我写了这样的内容:

    self.locationManager                 = [[CLLocationManager alloc] init];
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8)
    {
        [self.locationManager requestWhenInUseAuthorization];
    }
    self.locationManager.delegate        = self;
    [self.locationManager startUpdatingLocation];
    

    它对我来说非常有用。

    编辑:

    在 iOS 7 上运行应用程序不需要 xcode 5。您可以为 Xcode 6 安装 iOS 7 模拟器。

    转到 Xcode 首选项,在下载下下载 iOS 7 模拟器。

    【讨论】:

    • 似乎 requestWhenInUseAuthorization 在 iOS 7.1 的 Xcode 5 下不存在。我收到“无可见界面”消息:/ 并且无法在模拟器上启动应用程序。
    • @SuperGuillaume 是的,它在 XCode 5 和 iOS 7 中不起作用。它在 iOS 8 和 XCode 6 中引入
    • 有什么办法可以在这两个版本上工作吗?
    • @SuperGuillaume:我正在使用上面的代码,它在两个版本中都可以使用。我在 AppStore 中有一个应用程序,它使用相同的代码并且工作正常
    • 尽管我在 iOS 7 上的模拟器有错误,但你的意思是它可以在 iOS 7 的真实设备上运行?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2014-09-11
    相关资源
    最近更新 更多