2016-08-07 39 views
0

Ich versuche, eine SKSpriteNode mit der Textur eines Profilbilds von der Facebook-Benutzer Freund zu erstellen. Ich habe die richtige ID, aber es gibt immer noch keine Antwort.Schnell. Facebook Bild URL zurück

Mein Code:

let pictureData = NSData(contentsOfURL: NSURL(fileURLWithPath: "http://graph.facebook.com/\(friendObject["id"]!)/picture?type=large")) 
picture.texture = SKTexture(image: UIImage(data: pictureData!)!) 

Dies ist der Fehler ich recieving:

fatal error: unexpectedly found nil while unwrapping an Optional value

Antwort

0

Haben Sie versucht, diese URL in einem Browser ausgeführt wird, die ID zu bestätigen nicht gleich Null ist und die URL Werke ?

Ich denke, ich erinnere mich auch daran, dieses Problem zu haben, als ich FBSDK verwendete. Die Funktion, die versucht, dieses Bild zu verwenden, wird aufgerufen, bevor die URL heruntergeladen wurde. Sie müssen den Code in eine URL-Sitzung wie diese einfügen.

func getFBProfileImage(profileId: String, completion: ((image: UIImage?) -> Void)) { 
let url:String = "http://graph.facebook.com/\(profileId)/picture?type=large" 

let task = NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: url)!) {(data, response, error) in 
    completion(image: UIImage(data: data)) 
} 

    task.resume() 
} 

getFBProfileImage(friendObject(id)) { image  in 
    dispatch_async(dispatch_get_main_queue()) { 
     picture.texture = SKTexture(image:UIImage(data: image)) 
     } 
} 
+0

Es gibt diesen Fehler zurück: Verwendung des nicht aufgelösten Bezeichners 'completion'. Ja, ich habe versucht, die URL in einem Browser auszuführen, und es funktioniert definitiv. – Benja0906

+0

Sorry, versuchte aus dem Gedächtnis. Ich habe jetzt bearbeitet, um alles aufzunehmen. Du rufst es mit getFBProfileImage() – TheValyreanGroup