【问题标题】:Running Location services with iOS 7sdk build on iOS 8.1 device在 iOS 8.1 设备上使用 iOS 7sdk 运行定位服务
【发布时间】:2015-01-28 16:01:27
【问题描述】:

显然在 iOS 8 SDK 中,在开始位置更新之前,需要对 CLLocationManager 调用 requestAlwaysAuthorization(用于后台位置)或 requestWhenInUseAuthorization(仅在前台时定位)。

Info.plist 中还需要有 NSLocationAlwaysUsageDescription 或 NSLocationWhenInUseUsageDescription 键,并在提示中显示一条消息。

但是如果我使用 iOS 7 sdk 构建,我是否需要进行这些更改才能在 iOS 8 设备上运行定位服务? (我知道如何在带有 iOS 7 sdk 的 iOS 8 设备上运行。Hack - 我只需要保持插入 xcode 6 的设备也打开,然后我启动 xcode 5。它在 xcode 5.1 上检测到 iOS 8 设备)

我还在开始位置更新之前检查授权状态是否被拒绝,这在 iOs 7 和 ioS8 中具有相同的值。那么,在使用 iOS 7 sdk 构建时,位置服务是否有任何理由停止在 iOS 8 上运行。

【问题讨论】:

    标签: ios objective-c iphone ios8 location


    【解决方案1】:

    没有。如果使用 ios sdk 7.x 构建并在 ios 8.x 上运行,则不需要 Info.plist 和 requestAlwaysAuthorization、requestWhenInUseAuthorization 中的密钥。

    另外,如果你复制 iPhoneOS7.x.sdk 文件夹,你可以在 xcode 6 中使用 ios sdk 7.x 构建

    Xcode(5.x) ▸ 内容 ▸ 开发者 ▸ 平台 ▸ iPhoneOS.platform ▸ 开发者 ▸ SDKs

    Xcode(6.x) ▸ 内容 ▸ 开发者 ▸ 平台 ▸ iPhoneOS.platform ▸ 开发者 ▸ SDKs

    然后重新启动 xcode 并在项目的 Build settings 中为“Base SDK”标志设置 ios sdk 7.x

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 2017-05-21
      • 2023-04-01
      相关资源
      最近更新 更多