ios项目开发中遇到的坑(一)

最近一直再修改项目中遗留的BUG,现在将项目中存在的一些可能出现的比较莫名其妙的错误记录一下,供可能出现同类问题的读者参考。

  • 备注:会按照难易程度从难到易排列,希望帮助解决了你的问题的同时你能点赞。

BUG:1

在项目中扫描二维码的时候,程序突然崩掉,但是在有些手机扫描为出现任何问题,连上真机后,找到报错提示

[AVCaptureMetadataOutput setMetadataObjectTypes:] - unsupported type found.  Use -availableMetadataObjectTypes

具体原因:未授权app权限 ,用户将 设置-隐私-相机 权限关掉
解决方案为:在点击扫描之前判断是否开启权限

    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    
    if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
        
        UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"你应用名字" message:@"请在iPhone的“设置”-“隐私”-“相机”功能中,找到“你应用名字”打开相机访问权限" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];
        
        [alert show];
        
        return;
        
    }

BUG:2

类似bug1,使用以下代码保存图片,保存不成功

  UIImageWriteToSavedPhotosAlbum(<#UIImage * _Nonnull image#>, <#id  _Nullable completionTarget#>, <#SEL  _Nullable completionSelector#>, <#void * _Nullable contextInfo#>)

具体原因:未授权app权限 ,用户将 设置-隐私-相册 权限关掉
解决方案为:在点击保存之前判断是否开启权限

#import 

ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
    if (author == ALAuthorizationStatusRestricted || author ==ALAuthorizationStatusDenied){
        
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"你应用名字" message:@"请在iPhone的“设置”-“隐私”-“相册”功能中,找到“你应用名字打开相册访问权限" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];
        
    }

BUG:3

百度地图页面不显示,千万别以为只是网速的问题

ios项目开发中遇到的坑(一)_第1张图片
百度地图定位页面

具体原因:1.真有可能是网速问题,这个就可以忽略
2.appkey更改了
解决方案:填写正确的appkey,如果更改bundler id ,那就去得申请一个新的key,或者改回原来的bundler id

4.升级Xcode 7.3 插件失效

解决方案:终端两句命令解决

//获取DVTPlugInCompatibilityUUID字段
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

//将XXXX替换成刚刚获取的DVTPlugInCompatibilityUUID
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add XXXX

重启Xcode,然后Load Bundle就OK了

未待完续。。。。

你可能感兴趣的:(ios项目开发中遇到的坑(一))