gpt4 book ai didi

ios - 使用 Swift 5 时出现 didFinishPickingMediaWithInfo 错误

转载 作者:可可西里 更新时间:2023-11-01 01:49:41 25 4
gpt4 key购买 nike

我知道之前有人问过这个问题,但没有一个答案能解决我的问题。我收到错误:

Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled}

我有另一个项目,我在另一个项目中使用了这个完全正确的方法,但效果很好。我试图将 @objc 放在函数前面,但出现此错误:

Objective-C method imagePickerController:didFinishPickingMediaWithInfo: provided by method imagePickerController(_:didFinishPickingMediaWithInfo:) conflicts with optional requirement method imagePickerController(_:didFinishPickingMediaWithInfo:) in protocol UIImagePickerControllerDelegate.

  func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

guard let uid = Auth.auth().currentUser?.uid else { return }

if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {

let editImage = editedImage.withRenderingMode(.alwaysOriginal)

guard let uploadData = editImage.jpegData(compressionQuality: 0.3) else { return }

let filename = NSUUID().uuidString

let stoarageRef = Storage.storage().reference().child("profile_images").child(filename)
stoarageRef.putData(uploadData, metadata: nil) { (metadata, error) in

if let error = error {
print("Failed update profile image:", error)
}

stoarageRef.downloadURL(completion: { (downloadUrl, error) in
guard let profileImageUrl = downloadUrl?.absoluteString else { return }

print("Successfully updated image in storage:", profileImageUrl)

let dictionaryValues = ["profileImageUrl": profileImageUrl]

Database.database().reference().child("users").child(uid).updateChildValues(dictionaryValues, withCompletionBlock: { (error, ref) in

if let error = error {
print("There was an error:", error)
return
}

print("Successfully saved user info to db")

})
})
}
} else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {

let origImage = originalImage.withRenderingMode(.alwaysOriginal)

guard let uploadData = origImage.jpegData(compressionQuality: 0.3) else { return }

let filename = NSUUID().uuidString

let stoarageRef = Storage.storage().reference().child("profile_images").child(filename)
stoarageRef.putData(uploadData, metadata: nil) { (metadata, error) in

if let error = error {
print("Failed update profile image:", error)
}

stoarageRef.downloadURL(completion: { (downloadUrl, error) in
guard let profileImageUrl = downloadUrl?.absoluteString else { return }

print("Successfully updated image in storage:", profileImageUrl)

let dictionaryValues = ["profileImageUrl": profileImageUrl]

Database.database().reference().child("users").child(uid).updateChildValues(dictionaryValues, withCompletionBlock: { (error, ref) in

if let error = error {
print("There was an error:", error)
return
}

print("Successfully saved user info to db")

})
})
}
}

dismiss(animated: true, completion: nil)
}

感谢您帮助解决此问题。

最佳答案

swift 5、Xcode 11

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
backgroundImage = (info[UIImagePickerController.InfoKey.originalImage] as? UIImage)!
ivBackground.image = backgroundImage

picker.dismiss(animated: true, completion: nil)
}

关于ios - 使用 Swift 5 时出现 didFinishPickingMediaWithInfo 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55392576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com