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
iOS修改手机定位(非越狱任意位置)的更多相关文章
- iPhone模拟定位(非越狱修改手机定位)
剩下的事情就是build一下到手机,那么,就可以看到神奇的效果! 本次带来一个简单又好玩的实用功能,比如定位装逼(共享定位非分享可选那种),又或者定位打卡之类,由于改变的是设备级别的定位,本设备所 ...
- iOS LBS相关: 定位和中国特色的位置偏移纠正
LBS模块,首先当然是定位,获取自己所在的位置.主要用到的就是CLLocationManager,实例一个,然后调用startUpdatingLocation即可.其中可以指定精度CLLocation ...
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...
- 使用Xcode7非美刀购买开发者帐号,非越狱安装IOS ipa
做苹果开发,需要至少99美刀注册开发者帐号,这样写出来的程序才可以在真机上运行调试,才可以发布到app store,现在xcode7之后苹果有了调整,除了发布到app store还是需要美刀帐号,其它 ...
- 一步一步实现iOS微信自己主动抢红包(非越狱)
前言:近期笔者在研究iOS逆向project,顺便拿微信来练手,在非越狱手机上实现了微信自己主动抢红包的功能. 题外话:此教程是一篇严肃的学术探讨类文章,只用于学习研究,也请读者不要用于商业或其它非法 ...
- IOS 使用DSYM文件定位Bug 的具体位置
在项目的开发中,我们通常需要排查和修改测试中和发布后线上的一些bug,现在有一些第三方的bug分享和查找工具SDK,如腾讯的Bugly和听云等,包括苹果的开发工具xcode也自带 bug查找工具.那么 ...
- 改Android手机定位位置
手机定位方法 1,gps等卫星定位,如美国的gps,欧洲的伽利略,中国的北斗等,通过至少三颗卫星,用三角定位和时间等算法,计算出设备的经纬度,到地图上找到这个经纬度的地名 2,移动运营商基站定位,通过 ...
- 【Android】第18章 位置服务和手机定位—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了G ...
- iOS钉钉远程打卡助手(支持越狱和非越狱)
前言:本文主要讲述使用hook方式实现钉钉远程打卡功能,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法) 你是不是像小编一样每个 ...
随机推荐
- memcache的windows下的安装和简单使用
原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...
- csrf 跨站请求伪造
转自 http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
- Log4j用法
本篇仅仅是简单介绍了在写一个测试例子时,怎么使用log4j的经验,如果用于生产环境,估计还需要在深入一步去了解更多详细的配置信息. log4j.properties 配置信息: log4j.rootL ...
- 7.$a = 'abcdef'; 请取出$a的值并打印出第一个字母
echo $a[0]; echo $a{0}; echo chr(ord($a));//先输出$a字符串里的第一个字符的ASCII值 再从指定的 ASCII 值返回字符.
- .NET MVC3中扩展一个HtmlHelper方法CheckBoxList
MVC中有DropDownList方法,挺好用,可是最常用的需求,一组checkboxlist咋没个类似方法呢?郁闷之余,自己做一个吧,直接上代码 public static MvcHtmlStrin ...
- 19. 星际争霸之php设计模式--迭代器模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- C++ 学习笔记(2) —— float 和 double 的精度
Size Range Precision 4 bytes ±1.18 x 10-38 to ±3.4 x 1038 6-9 significant digits, typically 7 8 byte ...
- POJ - 3652 Persistent Bits
“模拟”类型,题型容易,使用bitset库对二进制逐位操作,初始化.十进制转二进制(unsigned int).位操作. POJ - 3652 Persistent Bits Time Limit: ...
- AppleWatch___学习笔记(三)iPhone和Apple Watch上的数据同步
WatchKit App类似于之前iOS 8上新推出的App Extension(应用扩展),比如Today Extension(今天扩展)和Share Extension(分享扩展).只要你对iOS ...
- Azure Table storage 之改进DynamicTableEntity类为其添加动态语言扩展
在之前的一篇文章中提到,storage类库中包含一个可以用来动态获取Azure table storage 表结构的类-DynamicTableEntity. 我们可以通过这个类,我们无需为每一个表提 ...