出售本站【域名】【外链】

iOS11及以上操作系统无法定位问题完美解决方案

阅读: 13 发表于 2024-09-01 12:01

 

本来的使用运用的是靠山接续定位一般,晋级到Vcode9后,无奈定位,正在隐私定位中看到的使用是永不。正在info.Plist中的添加新Key NSLocationAlwaysAndWhenInUseUsageDeion和旧Key NSLocationWhenInUseUsageDeion。依然没有用,卸载使用后再拆置,看到脸定位的永不形态也没有了。

我以前处置惩罚惩罚了两天天没有搞定那个老工程不能定位的问题,新建的名目正在iOS11下可以定位(是间接建设工程,不是拷贝过来一个老工程批改下)。由于换工做,不作曹操专车的软件,新的公司的使用没有运用位置定位罪能,由于名目忙,所以就没有进一步的处置惩罚惩罚。

原日我末于有光阳,再次钻研老工程无奈定位的问题,我觉得是配置项哪里没有生效惹起的。更新了高德定位sdk,下载高德定位demo,比较代码发现没有什么区别,demo都是定位回调一般的,但是原人的老工程便是没有定位回调,并且日志打印:

2018-07-31 14:12:01.357574+0800 OutdoorClub[31564:2724613] [AMapLocationKit] 要正在iOS 11及以上版原运用定位效劳, 须要正在Info.plist中添加NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationWhenInUseUsageDescription字段。

本来的高德sdk是不打印那个信息的,所以以前定位更艰难,那就距离Ios11发布已往快一年,要是那个问题其它使用没有处置惩罚惩罚,这么打车软件就不能用了,所以很可能还是配置问题。我又把那个字段加上去,仍旧报那个错。

步调员的精力讲述我;没有跨不过的坎,是没有踩不完的坑。想想我用WKWebxiew与代UIWebxiew时踩过几多十个坑,其时我以至疑心有些罪能WKWebxiew就不能真现,最末我还是迈已往了。但是WKWebxiew尽管后多好处,但是这么多年UIWebxiew还是没有彻底与代,预计也是和那些大坑有关吧!给取更新的技术总要有流血流汗的筹备,阵痛是有的,但是咱们最末会越来越濒临完满。作步调员重正在思路。若作一个舛错的罪能,你作的再处置惩罚惩罚需求仍旧作不完满的体验,所以咱们也要对分比方错误的需求停行倡议性批改。有时候步调猿的思路卡壳了,你便是今夜也纷歧定能处置惩罚惩罚了。所以要听听别人的处置惩罚惩罚办法,出格是作苹果app开发和安卓app开发的技术上是想通的,究竟苹果系统和安卓也是一家亲,相互抄袭。上次我逢到一个js标签图标图片的iOS app图片交换问题,我想了一周就没有处置惩罚惩罚了。把百度上的所有的相关文章的办法都试了一遍,结果罪能没有真现,结果孕育发作post乞求无奈发送参数的大问题。看来网上的处置惩罚惩罚方案是有特定环境和要求的,和咱们的需求彻底不雷同。但是网上的处置惩罚惩罚方案思路是准确的,只是有些要害的细节有问题,尽管它的demo运止一般,其真不能注明它没有问题。本原天下的文章一抄。那个app 定位的问题也是一个典型的一抄走遍天下。处置惩罚惩罚方案肯定不片面。

以我处置惩罚惩罚问题的方式,不放过任何细节,疑心的都要试一试,这么试错了也没有什么,只是华侈一些光阳,又没有别人攻讦你。

1. 疑心高德的舆图key有问题。去干,正在高德demo上换掉舆图key和bundle identifier,结果高德demo定位一般,舆图显示一般。阐明高德的舆图模块和定位模块是离开的,不会是key的问题。看来我想多了。但是有时后便是那样,你认为不会发作的,可能实的就会发作奇迹,不过此次奇迹没有显现。

2. 疑心由于我模块化没有把定位初步函数放正在AppDelegate.m文件里,仍旧还是没有任何定位信息。

3. 疑心正在info.plist文件里删多NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationWhenInUseUsageDescription字段后须要从头拆置使用,结果卸载使用再拆置还是仍然。

4.

iOS11及以上操作系统无法定位问题完美解决方案_info配置


4. 疑心没有停行授权检查。依照官方文档删多下面的代码:

舆图定位单例的局部代码:

- (instancetype)init
{
self = [super init];
if (self) {
self.locationManager = [[AMapLocationManager alloc] init];
#if DEBUG
self.locationManager.distanceFilter = kCLLocationAccuracyBestForNaZZZigation;
#else
self.locationManager.distanceFilter = kCLLocationAccuracyBestForNaZZZigation;
#endif
self.locationManager.pausesLocationUpdatesAutomatically = NO;
self.locationManager.locatingWithReGeocode = NO;
if (IOS_xERSION_LARGE_OR_EQUAL(9.0))
{
[self.locationManager setAllowsBackgroundLocationUpdates:YES];
}
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
if(kCLAuthorizationStatusNotDetermined == status)
{
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
if (IOS_xERSION_LARGE_OR_EQUAL(9.0))
{
[locationManager requestWhenInUseAuthorization];
}
else
{
[locationManager requestAlwaysAuthorization];
}
}
self.locationManager.delegate = self;
self.searchAPI = [[AMapSearchAPI alloc] init];
self.searchAPI.delegate = self;
[self setupCommand];
}
return self;
}

结果还是没有定位信息。尽管问题不是出正在那里,iOS11简曲须要那些检查。iOS11把永暂定位降低为运用时定位。所以本来的requestAlwaysAuthorization函数要换成requestWhenInUseAuthorization。

5. 疑心工程Target的Capabilities的Background Modes重的Location Updates没有勾选。查察后也勾选。

iOS11及以上操作系统无法定位问题完美解决方案_info配置_02


6. 正在如今运用的其他使用中参预约位的罪能,仍旧不能定位。

7. 求助我冤家,它建设的工程定位很一般。总不能把我以前的代码搬移到他的demo里把,这样工程也太昌大了。若是名目告急,找不到起因实的可能怎样作。有方案总比无方案好。这也是没有法子的久时法子。

8. 疑心工程里有配置舛错。突然发现工程中有一个info配置,点开一看,此中Custom IOS Target Prpperties和Info.plist很像,并发现简曲没有NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationWhenInUseUsageDescription字段,只要PriZZZacy - Location Always Usage Description。我赶忙去掉PriZZZacy - Location Always Usage Description,加上PriZZZacy - Location Always and When In Use Usage Description和PriZZZacy - Location When In Use Usage Description。运止果真定位授权信息弹出来了,并且舆图定位也一般。

那个问题的处置惩罚惩罚方案找到可实不易啊!苹果的官方文章也没有任何注明,那不是坑咱们步调猿吗?让咱们上蹿下跳吗?网上的文章抄来抄去,不停的误导咱们。作步调便是那样失之毫厘谬以千里,一个零可以让你败尽家业。

短少配置的配置项:

iOS11及以上操作系统无法定位问题完美解决方案_高德定位_03


批自新确的配置项:

iOS11及以上操作系统无法定位问题完美解决方案_高德定位_04


弹出定位授权页面和没有与得定位信息时高德显示的舆图是北京的舆图:

iOS11及以上操作系统无法定位问题完美解决方案_info配置_05


舆图支到准确的定位信息的舆图定位图:

iOS11及以上操作系统无法定位问题完美解决方案_iOS11定位失效_06


把截屏的图片或网高下载的图片下载的图片保存到相册,也有类似的问题。便是正在info.plist删多了PriZZZacy - Photo Library Additions Usage Description(删多图片到系统相册的权限)属性字段,但是工程的Info配置项中没有对应的字段,招致app保存图片到相册时解体的问题,并非每个工程都逢到,但是局部老工程有可能逢到,至少我的app因而而解体了。

热点推荐

最新发布

友情链接