【问题标题】:Why do I get "errors encountered while discovering extensions"为什么我会收到“发现扩展时遇到的错误”
【发布时间】:2018-04-28 06:01:57
【问题描述】:

我有这个代码:

import UIKit

class ProfileViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.

        //get User details


        let username = (user!["username"]! as AnyObject).uppercased
        let fullname = user!["fullname"] as? String
        let email = user!["email"] as? String
        let ava =  user!["ava"] as? String

        UsernameLbl.text = username
        FullnameLBL.text = fullname
        emailLbl.text = email







    }
    @IBOutlet weak var UsernameLbl: UILabel!

    @IBOutlet weak var avaImg: UIImageView!



    @IBOutlet weak var emailLbl: UILabel!
    @IBOutlet weak var FullnameLBL: UILabel!






    @IBAction func edit_click(_ sender: Any) {



        let picker = UIImagePickerController()
        picker.delegate = self
        picker.sourceType = UIImagePickerControllerSourceType.photoLibrary
        picker.allowsEditing = true

        self.present(picker, animated: true, completion: nil)






    }



     func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        avaImg.image = info[UIImagePickerControllerEditedImage] as? UIImage
        self.dismiss(animated: true, completion: nil)

        uploadAva()
    }

    func createBodyWithParams(parameters: [String : String]?, filePathKey: String?, imageDataKey: NSData, boundary: String) -> NSData {

        let body = NSMutableData();

        if parameters != nil{

            for (key, value) in parameters!{

                body.appendString(string: "--\(boundary)\r\n")
                body.appendString(string: "Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n")
                body.appendString(string: "\(value)\r\n")


            }

        }

        let filename = "ava.jpg"

        let mimetype = "image/jpg"

        body.appendString(string: "--\(boundary)\r\n")
        body.appendString(string: "Content-Disposition: form-data; name=\"\(filePathKey!)\"; filename=\"\(filename)\"\r\n")
        body.appendString(string: "Content-Type: \(mimetype)\r\n\r\n")
        body.append(imageDataKey as Data)
        body.appendString(string: "\r\n")

        body.appendString(string: "--\(boundary)--\r\n")

        return body

    }


    func uploadAva(){

        print(1)
        let id = user!["id"] as! String

        let url = URL(string: "myURL.uploadAva.php")!
        let request = NSMutableURLRequest(url: url)
        request.httpMethod = "POST"

        let param = ["id" : id]

        let boundary = "Boundary-\(NSUUID().uuidString)"

        request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

        let imageData = UIImageJPEGRepresentation(avaImg.image!, 0.5)

        if imageData == nil{

            return


        }


        request.httpBody = createBodyWithParams(parameters: param, filePathKey: "file", imageDataKey: imageData! as NSData, boundary: boundary) as Data

        URLSession.shared.dataTask(with: request as URLRequest, completionHandler: {(data: Data?, response: URLResponse?, error: Error?) -> Void in

            DispatchQueue.main.async{

                if error == nil{

                    do{

                        let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary

                        guard let parseJSON  = json else{

                            print("Error while parsing")
                            return

                        }

                        print(parseJSON)

                    }catch{

                        print("Caught an error: \(error)")

                    }



                }else{

                    print(error)


                }



            }



            }).resume()

    }


}




extension NSMutableData{


    func appendString(string: String){

        let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)
        append(data!)



    }





}

但 Xcode 总是给我:

发现扩展时遇到的错误:错误 Domain=PlugInKit Code=13 "查询已取消" UserInfo={NSLocalizedDescription=查询取消}

当我想上传图片时。

https://www.hastebin.com/edogaqotov.swift

【问题讨论】:

  • 使用edit将代码添加到问题本身。
  • 我做到了,现在?
  • 可能不相关,但如果有原生结构,请不要使用 NSMutable... 类。 (DataURLRequest
  • 我的问题是,它没有上传文件,它在 ImageView 中显示文件,但它没有上传到我的数据库,它显示错误
  • 如前所述,DataURLRequest。正如variable 两者都是可变的。

标签: swift


【解决方案1】:

这对我有用:

从 Xcode 菜单打开:产品 > 方案 > 编辑方案 > 在您的环境变量中设置 OS_ACTIVITY_MODE 值设置为禁用

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2016-05-03
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    相关资源
    最近更新 更多