如何在没有警报 View 的情况下获取 gps(越狱 iphone)?
NSString *newText;
CLLocationManager * locationManager = [[CLLocationManager alloc] init];
[locationManager startUpdatingLocation];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
CLLocation* location = [locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];
newText = [[NSString alloc] initWithFormat: @"Your Position : %f %f", coordinate.latitude, coordinate.longitude];
NSLog(@"%@", newText);
Best Answer-推荐答案 strong>
[CLLocationManager setAuthorizationStatus:YES forBundleIdentifier"your app bundle identifier"];
要使用此功能,您的应用程序权利应具有 com.apple.locationd.authorizeapplications 键,并将 bool 值设置为 true。
更新
找到了更好的解决方案。将 bool 值设置为 true 的 com.apple.locationd.preauthorized 键添加到您的应用程序权利。这将对您的应用程序进行预授权,因此您可以在没有任何用户许可或私有(private) API 的情况下请求位置。我在装有 iOS 5-7 的 iPhone 4S、5、5C、5S 上对其进行了测试。它可以在没有任何 Info.plist 的守护程序或命令行工具中工作,只是普通的二进制文件。
为了测试我使用了以下代码
#import <CoreLocation/CoreLocation.h>
@interface LocationDelegate : NSObject<CLLocationManagerDelegate>
@end
@implementation
-(void)locationManagerCLLocationManager*)manager didUpdateLocationsNSArray*)locations
{
NSLog(@"%@", locations);
}
@end
int main(int argc, char * argv[])
{
LocationDelegate* delegate = [[LocationDelegate alloc] init];
CLLocationManager* manager = [[CLLocationManager alloc] init];
manager.delegate = delegate;
[manager startUpdatingLocation];
[[NSRunLoop currentRunLoop] run];
return 0;
}
关于iphone - 获取具有 ROOT 权限的 GPS 没有警报 View (越狱),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11086083/
|