![](/img/trans.png)
[英]“terminating with uncaught exception of type NSException” in Swift
[英]Swift: Terminating app with uncaught exception type NSException
我在項目中使用了一個開源應用程序示例。
當我在info.plist中更改Facebook憑據時,我收到此“ 以未捕獲的異常錯誤終止 ”。
但是,當我恢復為默認設置(在初始的開源應用程序中使用)時,我沒有遇到任何崩潰/錯誤,並且應用程序可以正常運行。
我無法從此代碼中找出異常,有人可以幫忙嗎?
@IBAction func facebookLogin(sender: UIButton) {
PFFacebookUtils.logInWithPermissions(["public_profile", "email", "user_friends"], block: { (user: PFUser!, error: NSError!) -> Void in
if user != nil {
if user[PF_USER_FACEBOOKID] == nil {
self.requestFacebook(user)
} else {
self.userLoggedIn(user)
}
} else {
if error != nil {
println(error)
if let info = error.userInfo {
println(info)
}
}
MBProgressHUD.showError("Facebook sign in error")
}
})
}
func requestFacebook(user: PFUser) {
var request = FBRequest.requestForMe()
request.startWithCompletionHandler { (connection: FBRequestConnection!, result: AnyObject!, error: NSError!) -> Void in
if error == nil {
var userData = result as! [String: AnyObject]!
self.processFacebook(user, userData: userData)
} else {
PFUser.logOut()
}
}
}
func processFacebook(user: PFUser, userData: [String: AnyObject]) {
let facebookUserId = userData["id"] as! String
var link = "http://graph.facebook.com/\(facebookUserId)/picture"
let url = NSURL(string: link)
var request = NSURLRequest(URL: url!)
let params = ["height": "150", "width": "150", "type": "square"]
Alamofire.request(.GET, link, parameters: params).response() {
(request, response, data, error) in
if error == nil {
var image = UIImage(data: data! as! NSData)!
if image.size.width > 280 {
image = Images.resizeImage(image, width: 280, height: 280)!
}
var filePicture = PFFile(name: "picture.jpg", data: UIImageJPEGRepresentation(image, 0.6))
filePicture.saveInBackgroundWithBlock({ (success: Bool, error: NSError!) -> Void in
if error != nil {
println("Error saving photo")
}
})
if image.size.width > 60 {
image = Images.resizeImage(image, width: 60, height: 60)!
}
var fileThumbnail = PFFile(name: "thumbnail.jpg", data: UIImageJPEGRepresentation(image, 0.6))
fileThumbnail.saveInBackgroundWithBlock({ (success: Bool, error: NSError!) -> Void in
if error != nil {
prinln("Error saving thumbnail")
}
})
user[PF_USER_EMAILCOPY] = userData["email"]
user[PF_USER_FULLNAME] = userData["name"]
user[PF_USER_FULLNAME_LOWER] = (userData["name"] as! String).lowercaseString
user[PF_USER_FACEBOOKID] = userData["id"]
user[PF_USER_PICTURE] = filePicture
user[PF_USER_THUMBNAIL] = fileThumbnail
user.saveInBackgroundWithBlock({ (succeeded: Bool, error: NSError!) -> Void in
if error == nil {
self.userLoggedIn(user)
} else {
PFUser.logOut()
if let info = error!.userInfo {
ProgressHUD.showError("Login error")
println(info["error"] as! String)
}
}
})
} else {
PFUser.logOut()
if let info = error!.userInfo {
prinln("Failed to fetch Facebook photo")
println(info["error"] as! String)
}
}
}
}
這是我在應用程序崩潰時得到的:“ ***由於未捕獲的異常'NSInvalidArgumentException'而終止應用程序,原因:'不能在PFObject上使用nil作為鍵或值。請使用NSNull
.... libc ++ abi.dylib:以類型為NSException的未捕獲異常終止”
只是黑暗中的一槍:與鏈接中的轉義序列有關:
\\ (facebookUserId)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.