目錄
- 前言
- 一、問題出現(xiàn)場景
- 二、讓模擬器支持定位
- 三、模擬器改變定位地點(diǎn)的兩種方法
前言
詳細(xì)介紹iOS模擬定位的知識(shí)。
一、問題出現(xiàn)場景
為什么需要模擬定位???因?yàn)槟阍诒本┑臅r(shí)候,一個(gè)天津的客戶說它用你們的app看到的數(shù)據(jù)不正確。怎么辦,自己跑過去測一下是否真有問題,以及為什么出現(xiàn)這樣的問題嗎?顯然,各種條件不允許我們做出這么笨的一個(gè)決定。所以,這時(shí)候你就需要模擬定位,通過模擬定位到用戶的位置來確認(rèn)該位置是否有問題以及是什么問題,并進(jìn)行修復(fù)。
那么怎么進(jìn)行模擬定位呢?首先,明確的一點(diǎn)是,所有的模擬定位都是通過模擬器才能實(shí)現(xiàn)的,當(dāng)然如果你是越獄手機(jī)的話,那另當(dāng)別論。下面我們已只討論正常的模擬器定位的方法。步驟如下:
二、讓模擬器支持定位
- 檢查模擬器是否開啟定位功能
模擬器開啟定位功能.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è)鍵-值對中的一個(gè)即可。
定位授權(quán).png
第一次打開應(yīng)用的時(shí)候, 會(huì)詢問你是否允許定位功能...
如果選擇了拒絕,那自然無法定位。此時(shí)要重新允許只需要在設(shè)置里面進(jìn)行設(shè)置里的隱私即可。
3.定位的位置是否設(shè)置
定位的位置是否設(shè)置.png
如果沒有設(shè)置,則進(jìn)行設(shè)置即可。
iOS Simulator > Debug > Location > Custom Location...
設(shè)置模擬器定位的經(jīng)緯度.png
設(shè)置完新的經(jīng)緯度后,有時(shí)候可能需要重啟應(yīng)用才生效。如果還是沒生效,則重新啟動(dòng)模擬器吧。
在XCode10上是這樣的
定位的位置是否設(shè)置.png
其他:
三、模擬器改變定位地點(diǎn)的兩種方法
方法①:如上直接修改虛擬器上的經(jīng)緯度坐標(biāo)
iOS Simulator > Debug > Location > Custom Location...
方法②:通過添加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文件。最后,在模擬器上開始定位,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
。
End
結(jié)束!!!感謝查閱!!!