为什么我会在发现扩展时遇到“错误”

时间:2017-11-21 14:12:43

标签: swift

我有这段代码:

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 = query canceled}

当我想上传图片时。

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

1 个答案:

答案 0 :(得分:1)

这对我有用:

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