- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
[self dismissViewControllerAnimated:YES completion:nil];
NSURL *kittenFileURL = [[NSBundle mainBundle] URLForResource:img withExtension:nil];
}
这是我的代码。我得到的警告 不兼容的指针类型将"UIImage *__strong"发送到类型为"NSString *"的参数 当我去收集要上传到 Dropbox 的用户图像的 url 时,它使应用程序崩溃。 有什么想法吗?
URLForResource:
在传递图像时需要一个字符串。这就是错误。您需要在那里传递一个字符串。
[[NSBundle mainBundle] URLForResource:stringPath withExtension:nil];
不确定您打算用它做什么,但是URLForResource:
参数需要路径或文件名,而不是UIImage
。有关更多详细信息,请查看此处的苹果文档。
只是一个猜测,您是否要获取该图像的媒体URL。在这种情况下,您需要这样做,
NSURL *kittenFileURL = [editInfo valueForKey:UIImagePickerControllerMediaURL];
此处列出了可用的密钥。.对于您可以使用的参考URL,[editInfo valueForKey:UIImagePickerControllerReferenceURL]
附带说明一下,imagePickerController:didFinishPickingImage:editingInfo:
已被弃用,您应该使用 imagePickerController:didFinishPickingMediaWithInfo:
.