我正在使用theos模板为越狱iPhones创建一个通知中心(这样它就可以在WeeApp上运行)。这是一个天气小部件,我希望它能够获得手机的当前位置,这样它就可以从最近的气象站获得天气信息。我目前正在使用以下代码开始获取位置:
i_locationManager = [[CLLocationManager alloc] init];
i_locationManager.delegate = self;
i_locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
i_locationUpdated = NO;
[i_locationManager startUpdatingLocation];我有一个didUpdateLocations方法。所有这些都运行得很好。问题出在手机用来获取使用该位置许可的弹出窗口。首先,它说SpringBoard想要使用这个位置。有没有办法让它显示我的小部件的名称呢?
更重要的是,保存的权限不会被保留。只要手机还在运行,它们就会一直有效,但每次我重新启动并再次打开通知中心时,它都会重新请求使用该位置的许可。
当然,这不是一个致命的问题,但它令人恼火。有没有办法让手机记住小部件是允许使用当前位置的?
发布于 2013-05-09 08:41:28
这可能会有帮助
[CLLocationManager setAuthorizationStatus:YES forBundleIdentifier:@"com.apple.springboard"];这将以编程方式授权SpringBoard。第一次,您可以显示弹出窗口并保存到用户授权的位置。这样你就可以在每次需要定位的时候自己动手了。
至于弹出窗口中的应用程序名称。您可以尝试挂钩返回应用程序名称的UIApplication、SBApplication和NSBundle方法。我认为没有比这更简单的方法了。
https://stackoverflow.com/questions/15572753
复制相似问题