最近一直再修改项目中遗留的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 <AssetsLibrary/AssetsLibrary.h>
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
百度地图页面不显示,千万别以为只是网速的问题
具体原因: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了
未待完续。。。。