のインスタンスを含むクラスがありますMKMapView
@property(nonatomic, weak) IBOutlet MKMapView *ibMapView;
プロジェクトの他の場所でも のシングルトン インスタンスを使用していますがCLLocationManager
、このマップ ビューが iPhone のステータス バーに表示される「場所」アイコンに関与していることがわかりました。
具体的には、次のコードが原因です。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// If I comment out this line below, the "Location" status icon never shows, as expected
self.ibMapView.showsUserLocation = YES;
// ...other magical stuff happens here, not related to map view
}
showsUserLocation
このようにNOに設定してみました
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.ibMapView.showsUserLocation = NO;
// I also have tried logging to make sure showUserLocation is set to NO- returns "NO" as expected
DebugLog(@"Show User Location: %@", self.ibMapView.showsUserLocation ? @"YES" : @"NO");
// ...other stuff happens here, not related to map view...
}
ただし、位置ステータス アイコンは引き続き表示されます... 1 時間経過しても消えません...
showUserLocation
インスタンスをYES に設定すると、場所のステータス アイコンが表示されMKMapView
なくなります。