0

我一直在开发一个 iPhone 应用程序,最近发布了 iOS 6,我们的客户要求我们让应用程序支持新的 iOS(该应用程序是作为 iOS 5 应用程序开发的)。

我们的应用程序在 iOS 5 和 iOS 6 上运行得几乎都很好(除了我现在遇到的几个问题)。但是,我刚刚注意到我在 AppDelegate 中为 CLLocationManager 调用的方法:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

已弃用,在 iOS 6 中我们应该改用以下方法:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

当然,我们可以(而且我想)使用这种方法。但是我的客户要求我们必须让应用程序同时支持 iOS 5 和 iOS 6(是的,我知道无论如何这是合理的“需求”)。

要启用 Core Location 支持 iOS 5 和 iOS 6,我应该在我的代码中编写哪种方法?有没有办法放置一些“如果”之类的条件语句?

很抱歉用这些简单愚蠢的问题打断了社区,但我没有 Objective-C 和 iPhone 编程的坚实背景,而且我还在学习(我确实有一些 Java 经验,但这是我第一次开发一个“真正的”应用程序)。

任何帮助,将不胜感激。谢谢你。

4

1 回答 1

2

利用 -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

Deployment Target并在目标属性->summery 选项卡中设置为 5.0。它适用于 iOS 5 和 iOS 6

于 2012-11-16T06:58:50.010 回答