将'UIImage *__strong'发送到类型为"NSString 上传到保管箱"的参数的不兼容指针类型


- (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: .

最新更新