2010-02-25 34 views
6

我想測試,如果我的應用程序不能得到的位置座標發生了什麼。是否有可能在模擬器上禁用定位服務,就像在iPod touch具備WiFi關閉?在iPhone模擬器中禁用位置服務?

我還沒有我的iPhone開發人員計劃證書,所以我無法在我的設備上進行測試。

在此先感謝!

回答

0

作爲一種解決方法,您可以嘗試通過使用適當的值構造NSError對象來模擬更新位置失敗和手動調用相應CLLocationManager委託didFailWithError:方法。

+0

謝謝,我會試試這個! – iYassin 2010-02-28 17:14:52

0

**忽略此。這適用於MapKit。檢查下面的評論。

斷開計算機與互聯網的連接。 How to.

編輯:您可以測試從this site的代碼可以在下載here

使用AirPort,你得到的地圖。關閉AirPort後,您會看到一個空白的平方視圖。

+1

對不起,如果你斷開互聯網也會顯示「1無限循環,庫比蒂諾,美國」位置在模擬器 – Warrior 2010-02-25 11:55:44

+0

@戰士。檢查編輯。順便說一句。我一直使用這個。 – erastusnjuki 2010-02-25 12:55:31

+0

當使用核心位置的框架,並調用[的LocationManager startUpdatingLocation];方法會給「1無限循環,庫比蒂諾,美國」的位置甚至與機場關閉 – Warrior 2010-02-25 13:11:11

0

據我所知,你不能禁用模擬器上的位置服務。

我通常在使用位置服務時使用的方法是根據我的應用程序的需要構建一個簡單的包裝類NSLocation。

在這個包裝中,您可以輕鬆地假裝服務在模擬器中不起作用。例如,它可以有一個「isEnabled」方法,在模擬器上返回false,並且編譯器定義如下(#if TARGET_IPHONE_SIMULATOR)

6

您可以禁用模擬器的定位服務;

  1. 通過Xcode中運行你的應用程序,以便模擬器打開
  2. 停止通過Xcode中的應用程序(這應該離開模擬器開)在模擬器窗口
  3. 隱私>定位服務
  4. 打開設置應用。停用定位服務
  5. 再次運行你的應用,位置服務應該被禁用

希望它能幫助!

+1

+1,但當用戶最初發布問題時,這不是一個可用的選項。 – Abizern 2013-07-31 09:10:28