iOS 使用模擬器模擬定位

目錄

  • 前言
  • 一、問(wèn)題出現(xiàn)場(chǎng)景
  • 二、讓模擬器支持定位
  • 三、模擬器改變定位地點(diǎn)的兩種方法

前言

詳細(xì)介紹iOS模擬定位的知識(shí)。

一、問(wèn)題出現(xiàn)場(chǎng)景

為什么需要模擬定位???因?yàn)槟阍诒本┑臅r(shí)候,一個(gè)天津的客戶說(shuō)它用你們的app看到的數(shù)據(jù)不正確。怎么辦,自己跑過(guò)去測(cè)一下是否真有問(wèn)題,以及為什么出現(xiàn)這樣的問(wèn)題嗎?顯然,各種條件不允許我們做出這么笨的一個(gè)決定。所以,這時(shí)候你就需要模擬定位,通過(guò)模擬定位到用戶的位置來(lái)確認(rèn)該位置是否有問(wèn)題以及是什么問(wèn)題,并進(jìn)行修復(fù)。

那么怎么進(jìn)行模擬定位呢?首先,明確的一點(diǎn)是,所有的模擬定位都是通過(guò)模擬器才能實(shí)現(xiàn)的,當(dāng)然如果你是越獄手機(jī)的話,那另當(dāng)別論。下面我們已只討論正常的模擬器定位的方法。步驟如下:

二、讓模擬器支持定位

  1. 檢查模擬器是否開(kāi)啟定位功能
模擬器開(kāi)啟定位功能.png

2.應(yīng)用是否授權(quán)
在Xcode工程里面的info.plist里面添加鍵-值
NSLocationAlwaysUsageDescription,應(yīng)用程序不管在前臺(tái)和后臺(tái)都支持定位;
NSLocationWhenInUseUsageDescription,只有應(yīng)用程序在前臺(tái)時(shí)定位。
有時(shí)候根據(jù)需要添加上面兩個(gè)鍵-值對(duì)中的一個(gè)即可。

定位授權(quán).png

第一次打開(kāi)應(yīng)用的時(shí)候, 會(huì)詢問(wèn)你是否允許定位功能...
如果選擇了拒絕,那自然無(wú)法定位。此時(shí)要重新允許只需要在設(shè)置里面進(jìn)行設(shè)置里的隱私即可。

3.定位的位置是否設(shè)置

定位的位置是否設(shè)置.png

如果沒(méi)有設(shè)置,則進(jìn)行設(shè)置即可。
iOS Simulator > Debug > Location > Custom Location...

設(shè)置模擬器定位的經(jīng)緯度.png

設(shè)置完新的經(jīng)緯度后,有時(shí)候可能需要重啟應(yīng)用才生效。如果還是沒(méi)生效,則重新啟動(dòng)模擬器吧。

在XCode10上是這樣的

定位的位置是否設(shè)置.png

其他:

三、模擬器改變定位地點(diǎn)的兩種方法

方法①:如上直接修改虛擬器上的經(jīng)緯度坐標(biāo)
iOS Simulator > Debug > Location > Custom Location...
方法②:通過(guò)添加GPX文件。具體如下:
在自己的項(xiàng)目里添加一個(gè)GPX File文件

在自己的項(xiàng)目里添加一個(gè)GPX File文件.png

保存好后修改文件里的經(jīng)緯度坐標(biāo)

保存好后修改文件里的經(jīng)緯度坐標(biāo).png

修改完成后再次保存一下,編譯運(yùn)行。然后點(diǎn)擊Xcode底下那個(gè)菜單欄上的導(dǎo)航圖標(biāo),選擇你添加的GPX文件。最后,在模擬器上開(kāi)始定位,OK搞定。

編譯運(yùn)行。然后點(diǎn)擊Xcode底下那個(gè)菜單欄上的導(dǎo)航圖標(biāo),選擇你添加的GPX文件.png

兩種修改定位的比較總結(jié):
需要在多個(gè)位置隨時(shí)變換的時(shí)候建議使用添加文件的方式進(jìn)行定位。優(yōu)點(diǎn):切換地點(diǎn)速度快,不用再設(shè)置新的經(jīng)緯度。
只需要一個(gè)固定的定位點(diǎn)就可以的話建議使用修改模擬器的定位經(jīng)緯度。優(yōu)點(diǎn):省略添加文件的步驟,速度快。

四、快速使用模擬定位的方法

為了不用每次啟動(dòng)的時(shí)候,都去選擇。可以在Scheme中的Option中修改Core Location中的Default Location。

image.png

End

結(jié)束?。?!感謝查閱?。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容