ios苹果如何虚拟定位位怎么还原

博客分类:
LBS是移动应用的一个大热点。很多App都允许(或者说要求)获取用户的地理位置。这篇文章将简要谈谈如何利用CoreLocation来获取地理位置,并且会涉及到如何在iPhone的模拟器进行调试。
要利用CoreLocation,必须在frameworks里面加入“CoreLocation.framework”。在最新版本的Xcode(4.x)中加入新的framework步骤如下:
单击项目的target =&在出来的xcodeproj面板中点击“Link Binary With Libraries” =&点击“+”,然后选择需要的framework即可。
加入“CoreLocation.framework”之后,就可以在类中import &CoreLocation/CoreLocation.h&,这样就可以使用所有与CoreLocation相关的类了。
下面开始在项目里面实现获取当前地理位置:
先在类中定义两个成员变量:
view plain
CLLocationManager *locationM&
CLLocation *checkinL&
这两个变量,locationManaager用于获取位置,checkinLocation用于保存获取到的位置信息。
第二步:
在类中实现CLLocationManagerDelegate,并实现以下方法:
view plain
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation&&
&&&&&&&&&&&&&&&&&&&&&&& fromLocation:(CLLocation *)oldLocation {&
&&& checkinLocation = newL&
&&& //do something else&
从代码可以看到,运行到这个方法的时候,locationManager已经得到了当前的位置,所以在这个方法中应该把获取到的当前位置保存到变量checkinLocation中。
第三步:
在第二步实现的方法其实是被CLLocationManager中的方法startUpdatingLocation调用的,也就是说,当程序运行 locationManager.startUpdatingLocation的时候,第二步实现的方法就会被调用。
假设点击按钮checkIn的时候,程序会获取当前位置,那么就需要在这个checkIn按钮对应的动作方法(假设是方法名就叫做checkIn)中调用locationManager.startUpdatingLocation。具体如下:
view plain
- (void) setupLocationManager {&
&&& self.locationManager = [[[CLLocationManager alloc] init] autorelease];&
&&& if ([CLLocationManager locationServicesEnabled]) {&
&&& NSLog( @"Starting CLLocationManager" );&
&&& self.locationManager.delegate =&
&&& self.locationManager.distanceFilter = 200;&
&&&&&&& locationManager.desiredAccuracy = kCLLocationAccuracyB&
&&& [self.locationManager startUpdatingLocation];&
&&& } else {&
&&&&&&& NSLog( @"Cannot Starting CLLocationManager" );&
&&&&&&& /*self.locationManager.delegate =&
&&& self.locationManager.distanceFilter = 200;&
&&&&&&& locationManager.desiredAccuracy = kCLLocationAccuracyB&
&&& [self.locationManager startUpdatingLocation];*/&
在上面的代码中,程序首先判断机器(iPhone/iPad)是不是开启了地理位置的服务(locationServicesEnabled)。如果开启了,那么就开始进行定位([self.locationManager startUpdatingLocation];)。在定位之前要设置一些有关位置的属性,比如distanceFilter,desiredAccuacy等等。至于这些属性有什么用,可以查看xcode的文档,这里就不在赘述。值得注意的是,一定要设置locationManager的delegate是类本身,这样startUpdatingLocation运行的时候才会调用第二步实现的方法。
如果机器没有开启地理位置的服务,那么就不需要做多余的动作。注意到上面代码中有一部分代码被注释掉了,这部分代码这是为了能够在模拟器中调试程序。
下面谈谈如何在模拟器中调试获取当前地理位置的程序。
如果程序在真机中调试,只要真机开启了定位功能(GPS或者无线定位),那么就可以调试成功的。但是如果在模拟器中调试,就要做点额外功夫。由于在模拟器中是无法开启地理位置的服务(locationServicesEnabled总是等于false),所以需要将当前位置(或者任意位置)hardcode进程序当中,以便调试。
将下面的代码添加进类中(实现了获取当前位置的代码所在的类文件),添加的位置在import代码段的后面:
view plain
@implementation CLLocationManager (TemporaryHack)&
- (void)hackLocationFix&
&&& //CLLocation *location = [[CLLocation alloc] initWithLatitude:42 longitude:-50];&
&&& float latitude = 26.876812;&&
&&& float longitude = 100.98;& //这里可以是任意的经纬度值&
&&& CLLocation *location= [[[CLLocation alloc] initWithLatitude:latitude longitude:longitude] autorelease];&
&&& [[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil];&&&&&&
- (void)startUpdatingLocation&
&&& [self performSelector:@selector(hackLocationFix) withObject:nil afterDelay:0.1];&
添加完这段代码之后,同时将第三步实现的方法中被注释掉的代码恢复,也就是即使locationServicesEnabled等于false也调用startUpdatingLocation方法,这样程序就可以在模拟器中正常运行了。但是注意的是,这时候获取的当前位置就是是上面代码中你自己所设定的经纬度值。
整个过程都十分简单,因为大部分工作都被封装起来了。
获得当前位置之后,就可以在地图上显示,下篇文章将会谈谈如何用地图显示地理信息,包括自定义Annotation。
浏览 19159
lizaochengwen
浏览: 435762 次
来自: 北京
网络请求碰到的中文乱码使用encodeURL吧- (NSStr ...
还是没弄懂怎么解决了中文乱码? 正确代码能重写贴出吗
我的理解是讲ipa文件解压缩之后再重新打包,已经破坏了签名,所 ...
我参考你的“ 从ipa格式的母包生成其它渠道包的shell脚本 ...
问题果然解决了→ → 阴阳师ios怎么虚拟定位 苹果阴阳师虚拟定位修改方法介绍
阴阳师ios怎么虚拟定位 苹果阴阳师虚拟定位修改方法介绍
作者:佚名来源:本站整理 10:46:02
& 阴阳师ios怎么虚拟定位?苹果阴阳师虚拟定位怎么修改?ios阴阳师定位怎么修改?虚拟定位是让玩家参加阴阳师漫展车鬼王活动,只要你把手机虚拟定位到漫展展会坐标就可以打阴阳师漫展鬼王车。去不了的漫展小伙伴怎么办呢?本篇带了ios如何越狱进行虚拟定位的教程,阴阳师ios虚拟定位设置教程,不越狱系统虚拟定位。【阴阳师ios虚拟定位方法】1、本教学只针对未越狱的ios系统进行操作,已越狱设备请到cydia安装anywhere等伪装GPS地址。我的旧手机4S不小心刷新到9.3.2.可是盘古不出越狱,用不了虚拟定位软件,所以发现如下方法。下面为正文部分:首先我们要连接到电脑【iTuens】然后备份2、下载iBackupBot3、安装完后打开iBackupBot他会自动读取刚才备份的东西读取完后找到最新备份里的 System Files/HomeDomain/Libirary/Preferences4、找到 com.apple.Maps.plist。或在右上角的搜索中搜索也能找到。5、找到 com.apple.Maps.plist 后打开后点Cansel就可以了6、这时会出现这个文档7、此时我们在和上面输入图中蓝色的代码,__internal__PlaceCardLocationSimulation8、如图下,蓝色的部分是我们要添加的(最关键的一步,代码一定要跟下面的一致,不然会出错的)。代码复制完之后点击中间红色的关机按钮9、选择“是”保存文件10、先关闭设备的“寻找我的iPhone”/“寻找我的iPad”功能,然后在左侧根目录上右键选择Restore to device。11、.Full Restore记得选这个,设备就会重启(请确保你的手机连接电脑)设备还原中设备已还原。现在电脑的操作就完成了。12、打开手机的地图搜索你想要的地址查看,最下方会出现Simulate Location这个选项,点击以后即完成伪装(不会出现任何提示)。点击之后没有任何提示,现在就更改了你的GPS。阴阳师专区:& && & & & & & & & &以上就是《阴阳师ios怎么虚拟定位 苹果阴阳师虚拟定位修改方法介绍》详情,更多阴阳师,尽在跑跑车手游网。
17-04-2117-04-2117-04-2117-04-2117-04-21
共0条相关评论
最新最热相关资源
类型:系统工具大小:3.5M类型:角色扮演大小:656.8M类型:角色扮演大小:655M
类型:角色扮演大小:793.7M类型:角色扮演大小:656.8M类型:角色扮演大小:793.7M
安卓苹果应用推荐
类型:角色扮演大小:285.1M类型:策略棋牌大小:0KB类型:益智休闲大小:17.8M类型:角色扮演大小:0KB类型:策略棋牌大小:0KB类型:角色扮演大小:279.3M
类型:模拟经营大小:90.1M类型:策略游戏大小:170M类型:策略游戏大小:252M类型:休闲益智大小:322M类型:策略游戏大小:137M类型:休闲益智大小:103M黑科技:IOS系统虚拟定位(不用越狱不用下载软件)自带功能_生活记录_什么值得买
黑科技:IOS系统虚拟定位(不用越狱不用下载软件)自带功能
苹果虽然不卡,但是不如安卓系统开放啊。下面教大家一个通过代码修改自带的方法(就是手机实现自带虚拟定位,试用各种社交软件比如,QQ 陌陌 微信 探探 ...还有手机自带的iCloud 跟查找iPhone功能)首先你要有一台电脑,下载一个爱思助手。在爱思助手里面找到备份。点击全设备备份备份完成后,点击全备份文件管理点击立即查看找到AppDomain-com.apple.Maps这个双击打开依次打开Library/preferences,可以看到里面的com,apple.masp.plist,双击打开__internal__PlaceCardLocationSimulation添加上面两行代码到图片指定位置保存接下来吧备份还原手机就可以了:点击备份/恢复界的全数据恢复,选择刚刚修改的备份,点击立刻恢复。等手机重启,完活.现在打开手机自带的地图去体验一下。出现Simulate Location & 就是大功告成了。快去试试吧
本文著作权归作者本人和什么值得买共同所有,未经许可不得转载。文章仅代表作者看法,如有更多内容分享或是对文中观点有不同见解,值客原创欢迎您的投稿。
推荐关注:
鼠标移到标签上方,
尝试关注标签~
相关热门原创
作者其他原创(13)
鹰爪行动 复仇者男士户外战术夹克+闪行者户外工装裤套装(需备注尺码)
Garmin vívofit jr 儿童健康教育手表
GearLab燃烧装备实验室101克超轻防水冲锋衣
AfterShokz韶音 AS650 Trekz Air骨传导蓝牙耳机
【轻众测】网易智造 USB-C电源适配器(65W)
森然黑炮镀金大振模电容麦
美的 X3-T 智能WIFI洗碗机
德国药房 888元 全场体验券
【轻众测】北通手游P1游戏手柄-蓝牙版
美的 X3-T 智能WIFI洗碗机
vivo X20全面屏手机
漫步者 竞赛级汽车音响套餐 门店体验换装
赞87评论231
赞71评论89
赞57评论88
赞738评论380
赞1041评论783
赞636评论886
赞617评论529
赞611评论782
扫一下,分享更方便,购买更轻松
用户名/邮箱
两周内免登录

我要回帖

更多关于 ios 免越狱 虚拟定位 的文章

 

随机推荐