我正致力于普遍应用。在iPhone上一切正常,但在iPad上进行相同功能测试时,我的应用程序崩溃了。当我从相机捕获图像时,我将该图像转换为jpeg格式,这是我将图像转换为jpeg格式的代码:
NSData *imageData = UIImageJPEGRepresentation(image,0.7);//0.7
[imageData writeToFile:@"Select.jpeg" atomically:YES];
图片是UIImage。在iPhone上它的工作正常,但是在iPad上它崩溃的第二行和崩溃报告是终止应用程序由于未捕获的异常' NSInvalidArgumentException',原因:' *** - [NSFileManager fileSystemRepresentationWithPath:]:nil或空路论点'。 我在谷歌搜索它但没有得到任何解决方案或想法。
答案 0 :(得分:1)
您的文件名是Select.jpeg,该名称已存在于该位置。
每次都必须使用不同的名称保存图像。
为了获得最佳实践,请尝试使用当前时间提供图像名称。
答案 1 :(得分:0)
尝试下面的代码,它的工作对我来说
NSString *strImageName = @"select.jpg";
NSString *imagePath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@",strImageName]];
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL fileExists = [fileManager fileExistsAtPath:imagePath];
if(fileExists)
{
BOOL remove = [fileManager removeItemAtPath:imagePath error:nil];
if(remove)
{
NSLog(@"File removed...");
}
}
NSData *imageData = UIImageJPEGRepresentation(imgPreview, 0.7);
[imageData writeToFile:imagePath atomically:YES];