我有一个位置应用程序已经成功要求用户启用位置服务,然后也可以在按下按钮时显示他们的坐标。所以我决定使用xcode提供的CLLocationManager参考中提供的所有内容。
我决定设置一个名为“locationServicesEnabled”的bool方法。它返回值YES(1)或NO(0)。我声明了方法,然后去实现它。我试图让NSLog在打开应用程序时将bool结果打印到控制台。
以下是我在ViewController.m文件中声明BOOL方法的方法:
@interface ViewController () <CLLocationManagerDelegate>
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
+ (BOOL)locationServicesEnabled;
@end
以下是我在ViewController.m中实现BOOL方法的方法:
+ (BOOL)locationServicesEnabled{
[self locationServicesEnabled];
NSLog(@"%hhd", self.locationServicesEnabled);
return 0;
}
答案 0 :(得分:1)
为什么要创建额外的方法?您可以使用已有的错误来最小化错误风险:NSLog(@"Location services enabled: %d",[CLLocationManager locationServicesEnabled]);
答案 1 :(得分:0)
我认为你的问题可能是你在自己内部调用你的函数:
+ (BOOL)locationServicesEnabled
{
[self locationServicesEnabled]; <- should this be here
NSLog(@"%hhd", self.locationServicesEnabled);
return 0;
}