2020-02-10 21:00:58 Cody_Ren 阅读数 3606

 

一、准备

下载 iTunes、Location软件,13.3系统的将里面的 13.3 的驱动解压到 drivers 目录。

链接: https://pan.baidu.com/s/1cpmOcOiSrVf-2yEXUql0yQ 提取码: qdvu 

 

二、修改虚拟定位

打开 iTunes 连接手机

解压下载的 Location 软件,打开 drivers 驱动目录,查看有没有适合自己的系统版本的目录,没有的话到网上找最新的驱动文件下载解压到该目录,ios11/12/13 的在提供的文件中。

然后执行 injecttool.exe 进行注入,窗口一闪而过之后,执行 location.exe

然后操作日志窗口提示设备连接成功,才能继续接下来的操作,如果失败,说明没有下载正确的驱动文件,或者重启一下手机,重新连接一下数据线。

然后点击右上角选取坐标进行坐标修改。

点击修改定位,提示修改成功!

然后进入微信验证一下是否定位正确,如果不正确需要重启手机。注意重新启动手机,拔插数据线之后需要确保 iTunes 始终能够连接到手机上,实测 ios13.3 需要重启手机,然后就可以进行异地打卡或者修改王者荣耀战区定位了,呵呵。

 

2019-12-04 15:50:39 qq_32141707 阅读数 12490

苹果手机iOS系统下定位打卡问题解决攻略

本文主要给iphone用户提供一个解决定位打卡的思路,目前仅限定位打卡的公司或单位。

主要思路如下图:
在这里插入图片描述

一、有钱任性:

钱能解决的事都不叫事。

使用安卓手机

使用安卓手机,安装购买虚拟定位软件。具体可参考:
https://blog.csdn.net/m0_37340681/article/details/83443905
安卓手机有很多优势,可定制化程度高,不仅虚拟定位比较容易,也可以用一些定时任务软件自动唤醒钉钉打卡,省时省力。
安卓手机也有缺点,比如钉钉软件可以检测到手机是否root、是否使用了定位作弊软件等。

使用苹果手机定位外设

使用外设,目前市面上定位器外接设备并不多,渠道少,价格昂贵(几百元),但是使用起来比较方便,较为安全,即插即用。具体可参考:
https://blog.csdn.net/qq_35031937/article/details/88816568
在这里插入图片描述

使用PC端软件

目前Windows操作系统下修改苹果手机定位的软件主要有Simulate、Location和moveaway,首次可免费使用2小时,连接苹果手机后可以一次性修改苹果手机定位,定位可保持3天左右,重启手机即可恢复定位。具体可参考:
Simulate:(不安全) https://blog.csdn.net/weixin_44216897/article/details/85219208
Locaton: https://blog.csdn.net/qq923132714/article/details/88791831
Moveaway: https://blog.csdn.net/qq_42402950/article/details/80603540
该方法的缺点较为突出,比如每次修改定位都需要连接PC,且修改了定位后位置不会随手机移动而变化,影响导航、叫车等应用的使用。而且上述软件都会报毒,尤其是Simulate,每次WindowsDefender必报毒,安全性有待验证。在这里插入图片描述
以上方法适合有第二台iphone手机的用户。

二、iOS越狱

苹果手机越狱之后,可以安装能修改定位的插件。
这里简要介绍一个最简单的越狱方式:
PC端或mac端安装“某手机助手”(https://www.i4.cn/ ),连上手机后按照提示操作即可完成越狱。具体可参考:
https://www.i4.cn/news_detail_4715.html
这里说说我越狱过程中遇到的两个大坑:

不要更新iOS系统!

目前(2019年4月9日)越狱最高仅支持到iOS12.1.2,由于苹果关闭了降级验证通道,已经更新到iOS12.1.4或12.2的用户,可以说是毫无办法

要有一个靠谱的VPN!

越狱完成后手机上会出现一个叫cydia的app,用来安装各种插件,这个app需要接入外网才能加载插件。

越狱完成后,在cydia里搜索虚拟定位相关插件安装使用即可。越狱还有其他的特点,具体可参考:
https://blog.csdn.net/weixin_33717298/article/details/85806549

三、利用XCode修改手机定位

这个方法我着重介绍下,因为以上但凡不需要越狱的方法,大都是基于此原理。
本方法的优势在于免越狱、免安装任何第三方软件,是最安全的方法。但是门槛较高,需要一台mac电脑,最好有一定的编程基础。

所用设备:
手机:iphone SE
电脑:new macbook 2017款
连接线:Type-C转Lightning数据线

所用软件:
XCode(苹果官方开发工具)

原理:

苹果开发者调试在iOS系统中具有优先的系统权限,因此我们用XCode编写修改定位的代码并在指定设备中运行,设备会优先选取测试代码中的位置。

操作:

在app store搜索并安装XCode。

1.添加证书

打开XCode,点击屏幕右上角Xcode>>Preference>>Accounts,设置AppleID并添加证书。

在这里插入图片描述
在这里插入图片描述

2.创建项目

点击主界面Create a new Xcode project新建项目,选择iOS下的Application下边的Single View App,点Next

在这里插入图片描述
如下图所示,除了第二项选择自己刚创建的Team,其他都可以随便写。然后在下个步骤中选择存储位置。
在这里插入图片描述

3.新建GPX文件并编辑

在如图所示目录下,按command+n创建一个GPX File的文件,随意命名
在这里插入图片描述
点击刚才创建的gpx文件,并替换输入以下代码:

<?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="34.2849823548788" lon="108.94609007038896">
    </wpt>
</gpx>
4.按照如下路径修改默认位置

product >>Scheme >> edit scheme >>options >>default location
将默认定位none修改为第3步创建的文件
在这里插入图片描述
在这里插入图片描述

5.获取定位坐标

定位部分要了解坐标体系,国内的坐标体系与实际GPS坐标是不同的,需要经过算法转换才能使用,这里为了懒省事使用在线坐标转换工具https://tool.lu/coordinate/
我们这里选取西安钟楼的位置,点击转换,就获取到了西安钟楼的wgs84坐标。
在这里插入图片描述
需要大批量转换坐标或有一定编程基础的朋友,可以直接去GitHub上把代码down下来自己玩,链接奉上:
https://github.com/googollee/eviltransform

6.在手机上运行

将获取到的WGS84坐标写入XCode工程中刚才创建的gpx文件,替换原有坐标值,注意区分经纬度:

    <wpt lat="34.81828762094263" lon="113.5295022331736">

按command+s保存。

然后将iphoneSE接入macbook,通常会自动变更测试运行环境到iphone,如果没有变更,可以如图所示手动调整:
在这里插入图片描述
在这里插入图片描述
product>>run 在手机上运行程序(此处需要解锁iphone)
在这里插入图片描述
稍等片刻,等程序打开后,按主屏按钮回到主界面,打开苹果地图、百度地图、微信等定位软件,就会发现定位成功变更到了西安钟楼。

如果出现报错无法在手机上运行,根据提示解决:
未受信任的开发者:在iPhone上,设置>>统用>>设备管理>>开发者应用>>信任此开发者
版本不一致无法在设备上运行:在XCode里,点击项目根目录,General>>Deployment Info>>Deployment Target,选择与手机iOS版本一致的版本号。
其他问题请自行查找原因。

四、总结

从目前来看,对于不打算越狱的用户,使用外设和使用XCode修改定位是最为稳妥的两种方案。相比之下外设更加方便,不会受制于是否有macbook。相关原理可以参考:
https://blog.csdn.net/qq_41268683/article/details/88417513

另外,挂一个已经失效的方法:通过爱思手机助手等工具备份手机,修改com.apple.Maps.plist文件,再恢复到手机。链接:
https://blog.csdn.net/wawt_wawt/article/details/80602270

五、感谢

https://blog.csdn.net/qq_33608748/article/details/79564738
https://blog.csdn.net/weixin_33735077/article/details/85835119

可加qq交流402243155

2016-10-13 09:33:41 for12 阅读数 37342

     目前由于许多用户都将电话升级到了IOS系统,苹果的iOS 10已经正式对外推送,相信很多用户已经更新到了最新的系统。然而,如果web站没有及时支持https协议的话,当很多用户在iOS 10下访问很多网站时,会发现都无法进行正常精确定位,导致部分网站的周边推荐服务无法正常使用。为何在iOS 10下无法获取当前位置信息?这是因为在iOS 10中,苹果对webkit定位权限进行了修改,所有定位请求的页面必须是https协议的如果是非https网页,在http协议下通过html5原生定位接口会返回错误,也就是无法正常定位到用户的具体位置,而已经支持https的网站则不会受影响。

   目前提供的解决方案:

  1、将网站的http设置为Https。

  2、通过第三方解决,这也是我目前使用的方法。

    首先看下代码差异:

   1、在页面引入js

<script src="/Content/Scripts/jquery.flexslider.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=6yAoynmTPNlTBa8z1X4LfwGE"></script>
<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>
  window.navigator.geolocation.getCurrentPosition:通过手机的webKit定位(目前ios系统对非https网站不提供支持)
       navigator.geolocation.getCurrentPosition(translatePoint); //定位
            function translatePoint(position) {
                var currentLat = position.coords.latitude;
                var currentLon = position.coords.longitude;
                SetCookie("curLat", currentLat, 1);//设置cookie
                SetCookie("curLng", currentLon, 1);//设置cookie
                var gpsPoint = new BMap.Point(currentLon, currentLat);
          
                    var pt = new BMap.Point(currentLon, currentLat);
                    var geoc = new BMap.Geocoder();
                    geoc.getLocation(pt, function (rs) {
                        var addComp = rs.addressComponents;
                        SetCookie("curLat", currentLat, 1); //设置cookie
                        SetCookie("curLng", currentLon, 1); //设置cookie
                        //alert(JSON.stringify(addComp));
                        var city = addComp.city;                     
                     
                                    //获得具体街道信息  
                       var texts = addComp.district + "-" + addComp.street + "-" + addComp.streetNumber;
                            $("#nowRoad").text(texts);
                     


                    });
                      
                       
2、网站不支持https访问

     1、页面引入js

      

<script src="/Content/Scripts/jquery.flexslider.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=6yAoynmTPNlTBa8z1X4LfwGE"></script>
<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>
  2、获得定位方法

var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function (r) {
            if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                var mk = new BMap.Marker(r.point);
                currentLat = r.point.lat;
                currentLon = r.point.lng;
                SetCookie("curLat", currentLat, 1); //设置cookie
                SetCookie("curLng", currentLon, 1); //设置cookie           
                    var pt = new BMap.Point(currentLon, currentLat);
                    var geoc = new BMap.Geocoder();
                    geoc.getLocation(pt, function (rs) {
                        var addComp = rs.addressComponents;
                        SetCookie("curLat", currentLat, 1); //设置cookie
                        SetCookie("curLng", currentLon, 1); //设置cookie
                     
                        var city = addComp.city;
                        var addComp = rs.addressComponents;
                        var texts = addComp.district + "-" + addComp.street + "-" + addComp.streetNumber;
                        //获取地理位置成功,跳转
                  
                

            }

目前获取定位的方法都在这里,仅供大家参考使用!

2015-12-28 10:22:43 June_email 阅读数 937
        之前做的项目有关于更改系统定位权限的时候,系统的设置页忽然崩溃的问题,应该是iOS8的问题,刚开始刚到很奇怪,后来查了些资料才得出原因:NSLocationAlwaysUsageDescription=YES;   NSLocationWhenInUseUsageDescription=YES 这两个iOS8才有的plist属性是必须要添加的,而且他们的类型也是严格要求的,刚开始看到YES 以为是BOOL类型,谁知道必须是NSString类型的才能识别,否则就会崩溃,不知道是不是iOS8的问题,将类型改成String类型即可
2014-04-02 15:00:00 NSLog 阅读数 2437

介绍之前,先声明一下关于地图加加的“偏移修正”功能,地图加加可以对齐中国地区(地点、线路和照片的)坐标和中国地图之间的偏移,这个是我国测绘法规要求的一个数学意义的偏移,每个地方的偏移是固定的,法定的,和当前定位的方式、定位的精度与准确度没有任何关系。即地图加加只对齐偏移,并不能提升、降低或者改变iOS定位的速度、精度和规则,也没有任何App可以做到或者说允许去做。

下文所有的定位误差、定位偏移、定位精度等描述都是针对iOS定位硬件而言,和任何一个app无关, 也适合iOS上所有的地图App的定位逻辑,包括苹果自带的地图app。

---------------------------------------------------------------------------------------

iOS设备都可以使用哪些方式进行定位?
最早期的iPhone只支持 手机基站定位, 之后通过iOS软件升级引入了 WIFI定位, 而从iPhone 3G开始, iPhone手机就通过内置GPS处理芯片, 支持 GPS卫星定位 (准确地说, 应该是AGPS, 即:辅助GPS). 从iPhone 4开始,GPS换用了精确度更高,耗电更少的,灵敏度更高的芯片,而从iPhone4s和new iPad 3G版开始,增加了支持俄罗斯GLONASS卫星定位系统的支持。

下面详细列举了所有的设备和支持定位的情况:

定位模式有3种:
1、卫星定位
(1)GPS卫星定位:iPhone 3G/3GS/4/5,3G/4G版的iPad 支持
(2)GLONASS卫星定位:iPhone 4/5,3G/4G版的iPad 3/4/Mini 支持
2、手机基站定位
同1.1GPS卫星定位,即iPhone 3G/3GS/4/5,3G/4G版的iPad 支持
3、WIFI定位
所有iOS设备,包括Mac电脑也支持。

下面分别介绍下三种定位方式以及苹果在iOS系统中对其的优化:

手机基站定位:

原理:
每个手机基站都有一个标识符,iPhone或3G iPad可以搜集周围所有收到信号的基站和它们的标识符,通过联网发送到苹果云端服务器,再由服务器根据这些基站的的位置信息查询并计算出当前位置,然后返回给手机。因为基站信号辐射范围大,所以误差也大,在500米 ~ 几公里. 

特点:定位速度最快, 耗电最少,误差几百上千米.

iOS优化:
无网基站定位:
传统的基站定位需要连接云端服务器,产生网络流量,iOS 4对其进行了优化,可以在没有网络连接时支持无网定位,因为苹果预先已经将一些重要基站(几十公里选一个)提前存储在iOS系统中,在无网情况下,不用上网也能通过这些本地基站信息定位到用户位置,但这个误差范围更大,在10公里到50公里。
无网基站定位的前提是:您的手机能接受到内置在手机中的那些“重要基站”的信号,不一定是您手机所属运营商,只要能收到信号就可以了。

下图为iOS 4支持的全球无网络连接基站定位的基站:
positioning_cell_nodata.jpg 

WIFI定位:

原理
和基站定位原理差不多, iOS设备(或者Mac电脑)通过无线网卡手机周围所有的WIFI热点(不需要连接上,只需要有信号就行),获得它们的MAC地址,然后到苹果云端服务器查询这个热点是否已经登记,登记的话它的位置是多少,最后通过计算(多个热点折中)得到当前位置并返回给用户。只要收到手机信号的地方都可以基站定位,所以室内室外一样。

特点:WIFI定位速度、耗电和精度都介于基站和GPS之间,精度大概在几十米。(注意,WIFI定位的支持范围没有基站定位广,但是苹果的云端服务器一直在不断增加新的热点信息,使得热点定位支持的地区越来越多)

下图是iOS 4所有支持WIFI定位的地区:
positioning_wifi_range.jpg 

iOS优化:
无网WIFI定位:
传统的WIFI定位需要网络,但是iOS对其进行了优化,可以实现无网WIFI定位。原理时iOS设备在您有网络连接时,会大致定位出您的位置,并自动下载您所在地区周围(几个街区宽度或者更多)所有的WIFI热点的信息到本地。之后,当您在周围行走并WIFI定位的时候,即使没有网络,iOS照样可以利用之前下载的WIFI热点信息定位出您的位置。
这也是为什么有人号称WIFI无网可定位的原因,但注意:无网WIFI定位的前提是您在这个区域附近曾经成功上过网,如果初次到一个陌生的地方,是无法定位的哦。

关于自动下载的热点个数和范围,这个是苹果根据当地热点的密度动态决定的,当地热点很多时(如市中心),可能只下载几条街道范围的所有热点,当地热点密度很小时(例如海滨城市),可能会下载整个城市的所有热点。

下图是iOS自动在高密度地区下载周围热点信息的一个大概范围说明:


GPS定位:

(GLONASS原理与此类似,不做额外介绍)

原理
这个是美国军方搞的, 军民两用, 但仍然完全受军方控制(比如可以随时随地设置某个地区收到的信号与否及其精度), 其原理就是:利用天上的卫星(共24颗)不断地广播信号, 地面的GPS接收设备收到信号后, 通过分析多个卫星信号,就可以计算出地球坐标, GPS保证全球任何一个地方(98%)都可以同时收到至少4个卫星的信号, 从而可以准确确定您的经纬度以及海拔位置. GPS定位精度可达10米以内, 不过这是美国军方控制的, 战争时期可能变的不稳定或者误报. (不过我国也有自己的系统, 北斗系统, 目前已经亚洲的覆盖, 还在推广中)

卫星定位必须要能收到卫星信号,因为卫星信号都是很微弱的,虽然iPhone 4开始提升了GPS硬件的灵敏度,但仍然需要在窗户旁,或者户外使用,才能确保卫星信号的强度和稳定性。

与基站定位和WIFI定位相比,GPS耗电最大,速度最慢,但是精度最高。

而iPhone的GPS与纯粹的GPS定位不同, 称为A-GPS, 即辅助GPS.(比GPS更优,不过GPS也分芯片和性能的,不是说所有的AGPS比所有的GPS都好)

因为GPS定位中最耗时、最耗电的就是获取当前天上的卫星信息,哪些卫星可见、在什么位置、时钟是多少等等,这个过程可能花费数十秒甚至几分钟,而AGPS就是利用网络,首先将基站定位或者WIFI定位获得的大概位置发到远程服务器,有服务器进行查询和计算,得出这个位置下当前卫星信息,反馈给iOS设备,iOS设备就可以直接用这些信息来接受卫星信号,不用自己去扫描分析了。这样可以极大提高定位速度,将初次定位时间缩短到1~2秒完成。

A-GPS优点是定位快,缺点是需要网络,但也只是在初次定位时需要网络,因为一旦卫星信息返回,在有限时间和范围内,这些信息无须改变,之后的GPS定位就不再需要联网,都是直接用这些卫星参数接受信息了。

-------------------------------------------------------------------------------------------------------

在iOS设备上,上述定位方式会综合应用,一般地,可能先按照最快的“无网基站定位”返回一个位置,当有网络连接时,在用有网基站定位更新位置,然后,利用AGPS上网查询卫星星图,最后,在能收到GPS信号的情况下,转为使用GPS定位。

根据当前信号情况和网络环境,iOS可能在上述方式之间反复迭代,不一定一致特定步骤或者方式,而且随着iOS升级,定位顺序和规则可能改变。

----------------------------------------------------------------------------------------------------

常见问题:

1. 为什么我iPhone当前定位误差有几百或者上千米?
iPhone初始定位都是用基站或者无网基站定位,误差几百或几公里。之后,如果无法搜索到WIFI信号,或者无法搜索到卫星信号,就会一直是这个精度。
您可以打开WIFI功能(不用连上,只需要打开即可),或者到窗户边,或者户外以便收到卫星信号; 
解决方法: 多等一会儿,开启数据流量(定位之后即可关闭),或者到户外去。

2. 为什么我的位置总是变来变去?
iOS根据当前网络环境,会不断调整和修正定位方式,可能您所处地区基站和WIFI信号太复杂或者太微弱,比如一会儿连上这个基站,一会儿连上另一个基站,导致iOS计算位置的时候不稳定。
解决方法: 打开WIFI功能,开启数据流量(定位之后即可关闭),或者到户外去。

3. 无手机信号可以定位吗?无数据流量可以定位吗?
对于iPhone或者3G/4G版iPad
情况1:【没有手机信号,没有WIFI信号,没有上网】则定位只能在户外利用GPS进行,初次定位时间可能很长,可能需要数分钟,之后定位正常。
情况2:【没有手机信号, 有WIFI信号,没有上网】如果之前在周围上过网,下载了附近的热点,则利用无网WIFI定位可以找到位置,否则,和情况1一样。
情况3:【没有手机信号, 有WIFI信号,可以上网】利用WIFI定位找到位置,并且在定位时还会下载大量的周围很大一个区域的所有WIFI热点信息,用于今后无网WIFI定位。
情况4:【有手机信号, 没有WIFI信号,没有上网】如果能收到iOS内置的“重要基站”的信号,则使用这些基站进行无望基站定位,否则,无法定位。
情况5:【有手机信号, 没有WIFI信号,可以上网】使用基站定位联网查询进行定位,同时可能会更新本地“重要基站”信息。
.......
对于iPad WIFI版:
情况1:【没有WIFI信号,没有上网】无法定位
情况2:【有WIFI信号,没有上网】如果之前在周围上过网,则利用无网WIFI定位可以找到位置,否则,无法定位
情况3:【有WIFI信号,可以上网】利用WIFI定位,并且在定位时还会下载周围很大一个区域的所有WIFI热点信息,用于今后无网WIFI定位

IOS/Iphone 定位修改

阅读数 461

定位功能iOS SDK

阅读数 318

没有更多推荐了,返回首页