我在使用 iPad2 定位服务时遇到了奇怪的问题。
我的办公桌上有两台 iPad2 设备。我刚刚创建了一个简单的单视图应用程序,并将以下代码放在视图控制器的 viewDidLoad 中:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
[_locationManager startMonitoringSignificantLocationChanges];
}
在一台 iPad 上,通常的权限对话框会提示并要求我授权定位服务,我可以开始跟踪用户位置。
在另一台设备上(使用完全相同的代码)没有任何反应。该应用程序启动并仅显示控制器的白色视图,但根本不请求许可。唯一被触发的委托方法是didChangeAuthorizationStatus
在这两种情况下,设备设置中的定位服务均已启用。
这意味着要么有一个隐藏的设置连接到位置服务,要么是一台 iPad 坏了?