0
- (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 *' のパラメーターに送信する互換性のないポインター タイプ ドロップボックスにアップロードするユーザー イメージの URL を収集しようとすると、アプリがクラッシュします。何か案は?

4

1 に答える 1

1

URLForResource:画像を渡しているのに文字列を期待しています。それがエラーです。そこに文字列を渡す必要があります。

[[NSBundle mainBundle] URLForResource:stringPath withExtension:nil];

何をするつもりだったのかわかりませんが、URLForResource:param はパスまたはファイル名を期待しており、UIImage. 詳細については、こちらのアップルのドキュメントを確認してください。

推測ですが、その画像のメディア URL を取得しますか。その場合、このようにする必要があります。

NSURL *kittenFileURL = [editInfo valueForKey:UIImagePickerControllerMediaURL];

利用可能なキーはここにリストされています。. 使用できる参照 URL については、[editInfo valueForKey:UIImagePickerControllerReferenceURL]

ちなみに、 imagePickerController:didFinishPickingImage:editingInfo:は推奨されておらず、使用する必要がありますimagePickerController:didFinishPickingMediaWithInfo:

于 2012-12-07T06:44:58.963 に答える