iOS修改手機定位(非越獄任意位置)


利用開發者的一些調試功能,我們可以修改非越獄的蘋果手機定位,模擬任意位置。

經測試,此方法僅限開發者調試使用,並不能長時間修改手機定位。

1. 首先需要了解一些坐標系的知識

   iOS,原生坐標系為 WGS-84

   高德以及國內坐標系:GCS-02

   百度的偏移坐標系:BD-09

   這些先了解,下面需要用到轉換

2. 從高德地圖拾取網頁上找到要模擬的地點坐標,這里我測試使用 九寨溝

   http://lbs.amap.com/console/show/picker 

   得到高德坐標:103.627229,32.755169

   

   由於此坐標在手機上地圖顯示時,會有偏移誤差,所以需要轉換成 WGS-84蘋果用;

   在網上找算法轉換后:

    得到九寨溝坐標:33.144513 103.910688

    在后面的.gpx文件中就放上轉換后的坐標,以后修改此處來模擬其他位置

3. 用Xcode創建一個工程FakeGPS

   此時在外面新建立一個 JZG.gpx 的 XML 文件 文件信息如下,然后導入工程

<?xml version="1.0" encoding="UTF-8" ?>
<gpx version="1.1"
     creator="GMapToGPX 6.4j - http://www.elsewhere.org/GMapToGPX/"
     xmlns="http://www.topografix.com/GPX/1/1"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
      <wpt lat="33.144513" lon="103.910688">
         <name>chengdu</name>
         <cmt>九寨溝</cmt>
         <desc>九寨溝</desc>
      </wpt>
</gpx>

 

4. 在工程 Produce---Scheme---Eidt Scheme---Options ---

    在 Default location 里面選擇導入的 JZG ;就是上面JZG.gpx的文件名,對應上述地理位置;

   OK, 真機運行FakeGPS工程;

    

5. 在手機上運行FakeGPS工程,然后打開 手機上的高德地圖app,定位,即可看到當前位置已模擬在目的地了,

   同樣查看微信定位,也是要模擬的位置了;

  

 

6. 實測上面的位置並不會永久修改,當模擬位置的app退出或是一些其他原因模擬的位置就會不在起作用;

    也印證了該功能僅用於開發者調試使用,不過對於一些短時間的修改位置測試使用場景夠用了

7. 演示工程的DEMO下載

    https://github.com/cocoajin/TDDDemo/tree/master/FakeGPS

 

參考:

  坐標轉換 http://blog.csdn.net/jijiji000111/article/details/52468042

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM