xcode6打开以前工程在Ios8系统无法定位解决方案

xcode6打开以前xcode5工程,发现程序不能定位,包括iOS8模拟器,真机都不能定位?代码经检查没有问题,后来查找苹果Ios8升级差异策略,发现Ios8对定位处理做了一些调整,工程升级到xcode6编译时需要iOS8 要自己写授权,不然没权限定位。修改点如下:
      1: 在Info.plist中加入两个缺省没有的字段 ,值均设置为YES
       NSLocationAlwaysUsageDescription
      NSLocationWhenInUseUsageDescription
2:启动定位代码[locationManager startUpdatingLocation] 前,需要增加Ios8判断处理

if ([[[UIDevice currentDevice] systemVersion] doubleValue] > 8.0) {
            //设置定位权限 仅ios8有意义
            [locationManager requestAlwaysAuthorization];
        }
        [locationManager startUpdatingLocation];

3:实现 CLLocationManagerDelegate 代理 - (void)locationManagerCLLocationManager *)manager didChangeAuthorizationStatusCLAuthorizationStatus)status 方法,注意:如不增加该代理方法实现,会导致首次调用定位时候无法弹出 ”程序启动定位提示框“ 导致定位失败

#pragma mark - 授权定位
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
    
    NSLog(@"调用代理");
    switch (status) {
            
        case kCLAuthorizationStatusNotDetermined:{
            
            if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
                [locationManager requestWhenInUseAuthorization];
            }
        }
            break;
        default:{
            
        }
            break;
    }
}

时间: 2024-08-04 14:37:03

xcode6打开以前工程在Ios8系统无法定位解决方案的相关文章

升级iOS8系统后,保险箱Pro、私人保险箱、私密相册打开就闪退的官方解决方案

  写在前面的话: 1.   本文适用条件    适用于:您的保险箱Pro.私人保险箱.私密相册在iPhone或iPad升级到iOS8系统后,一打开就闪退,无法进入程序:app图标如下:             2.   不要删除闪退app    请不要删除闪退app,因为数据都在里面:如果你不小心删除了,请检查删除app前你是否将iPhone或iPad数据备份到电脑iTunes或iCloud上,如果备份过,是可以恢复闪退app数据到iPhone或iPad的,请立即联系技术支持: 3.   官方

关于xcode不同版本打开相同工程问题

今天刚下好了xcode7正式版,于是乎用其创建一个工程.随后关闭此工程用xcode6.3打开此工程.发现报错不能运行,随后网上查资料,可惜中文版的资料几乎可以说是没有,因此写下此文,以方便其他遇到此情况的朋友解决此问题.归结起来,此问题就是用新版本编译器创建的工程,有时可能会用旧版编译器去编译,此时可能就会不能执行,并报错.此时笔者的查找到解决方案如下: 1.首先是编译器版本号的更改以及模拟器版本号的更改 此处无需多说直接上图: 2.接着编译器报错 错误提示:target specifies p

进程打开的文件句柄数量超过系统默认值1024,就会提示“too many files open”信息

在linux系统中,如果进程打开的文件句柄数量超过系统默认值1024,就会提示"too many files open"信息,所以要调整打开文件句柄限制. 有以下两种方法: 修改etc/security/limits.conf  配置文件,重启后永久生效 在文件的末尾加入下面两段: * soft nofile 65535 * hard nofile 65535 在控制台输入命令,立刻生效,但是重启后就会变成默认值1024 ulimit -SHn 65535 建议用第一种方式,永久生效

iOS 使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module

使用不同版本的XCode出现的问题: fatal error: malformed or corrupted AST file: 'Unable to load module "/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache/XYZYIE6ZV0OP/Darwin.pcm": file not found' note: after modifying system headers, please delete the

crank工程的qnx系统移植

crank工程的qnx系统移植 crank 开发 版权声明:本文为博主原创文章,未经博主允许不得转载. 开发软件:Crank Storyboard Designer,在crank公司的网站上可以申请30天试用版软件.Crank公司网址 硬件设备:Ti AM335x Starter Kit platform. 操作系统:QNX Neutrino 6.5 架构:ARMLE Crank是一家致力于创新嵌入式图形用户界面解决方案的软件公司.Crank软件提供的产品和服务,使得UI设计者和开发设计团队能够

Xcode6 iOS7模拟器和Xcode7 iOS8模拟器离线下载

Xcode6 只支持iOS7和iOS8的模拟器 Xcode7 只支持iOS9和iOS8的模拟器 Xcode 并不会识别 SDKs 目录下的模拟器,我经过一些尝试以后,发现要放在这个目录下: /Library/Developer/CoreSimulator/Profiles/Runtimes/ 注意:是根目录,不在 Xcode 和 User 的目录下 而且与旧版的模拟器不同,新版模拟器是以simruntime为后缀打包的(其实还是一个目录),以7.1的模拟器为例: 如果这个目录不存在的话,可以尝试

Eclipse如何打开Android工程(转载)

转自:http://www.cnblogs.com/kernel-style/p/3339102.html 一.Eclipse如何打开Android工程 1.你可以在file->new->other->android object选择选项:create object from exists source   通过browser 打到你所下载的目录即可. 2.如果放在设定的Workspace目录,则:File->Import->General->Existing proj

使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module

使用不同版本的XCode出现的问题: fatal error: malformed or corrupted AST file: 'Unable to load module "/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache/XYZYIE6ZV0OP/Darwin.pcm": file not found' note: after modifying system headers, please delete the

ios8 系统定位问题

今天在开发的时候发现了一个iOS8的定位问题,执行操作之后,不会调用到定位之后的delegate方法中,然后找了一些资料来了解了一下ios8系统下的定位,发现确实是有所不同的: 解决方法: 1.在info.plist中添加key: NSLocationWhenInUseDescription,允许在前台获取GPS的描述 NSLocationAlwaysUsageDescription,允许在后台获取GPS的描述 2.在代码定位中,做版本区分和授权请求: if ([CLLocationManage