2016-11-30 58 views
1

我正在用Xamarin.iOS開發iOS應用程序。 我已授予使用位置服務的權限,只要應用程序正在運行,位置圖標就會在狀態欄中可見。 但是,我的應用程序只需要在一個屏幕上獲得當前位置 - 其餘時間不需要位置。如何在不需要屏幕的iOS應用中隱藏位置圖標?

是否有可能關閉(隱藏)位置信息圖標當應用程序是不是真的用呢?

我發現的答案是舊iOS版本或在越獄手機上工作。據我瞭解,蘋果現在正在防止這種情況發生。如果可以或不可以,我將不勝感激。或者如果可能的話 - 一些Xamarin/Objective-C/Swift的例子會很棒。

+0

請分享你的代碼,你在哪裏獲得位置。 – Darshana

+1

你可以查看這個鏈接:http://stackoverflow.com/questions/26528831/blue-banner-myapp-is-using-your-location-for-app-that-uses-location-services/27132483#27132483它會幫助您 –

+0

位置圖標顯示系統上的應用程序何時使用位置或最近使用過位置。你不能隱藏它。 – Paulw11

回答

3

U是指飛機ICON在狀態欄中嗎?

該圖標將顯示在應用程序中使用定位服務,嘗試停止或刪除您的位置請求或MapView類,地圖SDK有自己的接口,如:

locationManager = [[CLLocationManager alloc]init]; [locationManager stopUpdatingLocation];

,並確保其他應用程序未使用位置服務。

但它不是肯定該服務將立即停止,位置管理器只是一個顯示器到系統。

+1

雖然這是一支箭而不是飛機。 – jcaron

+0

我將此標記爲接受的答案。我最終在所有屏幕上添加了[locationManager stopUpdatingLocation],並在我需要的一個屏幕上添加了[locationManager startUpdatingLocation]。這,再加上requestWhenInUseAuthorization到info.plist似乎已經奏效。事實上,在位置圖標消失之前需要幾秒鐘,但這比始終看到要好得多。謝謝! –

0

您可以使用requestAlwaysAuthorization而不是requestWhenInUseAuthorization on CLLocationManager。

注:在 Info.plist文件提供相關NSLocationAlwaysUsageDescription,然後藍旗將不顯示。

相關問題