私のアプリでは、現在のユーザーの場所を使用するようにCllocation managerを実装しましたが、正常に機能します。ただし、アプリがバックグラウンドで入力または終了すると、GPS位置アイコンはiPodで自動的に非表示になります。Iphoneで同じことを試してみると、アイコンが非表示になりません。
だから、私はそれに対する解決策を見つけることができません。助けて!!
私のコードは次のとおりです。
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
if(locationManager == nil)
locationManager =[[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy= kCLLocationAccuracyBest;
self.locationManager.distanceFilter= 5;
[locationManager startUpdatingLocation];
[locationManager startUpdatingHeading];
}
-(void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
self.userLocation=newLocation;
[self.locationManager startMonitoringSignificantLocationChanges];
}
Map.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[APPDELEGATE.locationManager startUpdatingLocation];
}
- (void)viewWillAppear:(BOOL)animated
{
self.map.delegate = self;
[self.map setShowsUserLocation:YES];
}
iPodでアプリのロケーションサービスを手動で行った場合、アプリを閉じるとロケーションアイコンが表示されません。しかし、iPhoneで同じことをしようとすると、場所のアイコンが表示されます。