Swift에서 Facebook 프로필 사진과 사용자 이름으로 프로필을 만들려고합니다. ViewController에서 로그인 단추가있는 위치로 가져올 수 있지만 필요한 경우 프로필 ViewController에 나타나지 않습니다. 로그인 페이지에 대한Facebook 프로필 사진이 표시되지 않습니다 Swift
: 여기가 코드를 사용한다
import UIKit
class Profile: UIViewController {
@IBOutlet weak var profilePicture: UIImageView!
@IBOutlet weak var userName: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)
{
FBSDKGraphRequest.init(graphPath: "me", parameters: ["fields":"first_name, last_name, picture.type(large)"]).startWithCompletionHandler { (connection, result, error) -> Void in
let strFirstName: String = (result.objectForKey("first_name") as? String)!
let strLastName: String = (result.objectForKey("last_name") as? String)!
let strPictureURL: String = (result.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as? String)!
self.userName.text = "Welcome, \(strFirstName) \(strLastName)"
self.profilePicture.image = UIImage(data: NSData(contentsOfURL: NSURL(string: strPictureURL)!)!)
}
}
}
}
내가 처음 사이에 링크를 누락 생각 : 여기
import UIKit
class ViewController: UIViewController, FBSDKLoginButtonDelegate
{
@IBOutlet var btnFacebook: FBSDKLoginButton!
@IBOutlet var ivUserProfileImage: UIImageView!
@IBOutlet var lblName: UILabel!
override func viewDidLoad()
{
super.viewDidLoad()
configureFacebook()
}
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)
{
FBSDKGraphRequest.init(graphPath: "me", parameters: ["fields":"first_name, last_name, picture.type(large)"]).startWithCompletionHandler { (connection, result, error) -> Void in
let strFirstName: String = (result.objectForKey("first_name") as? String)!
let strLastName: String = (result.objectForKey("last_name") as? String)!
let strPictureURL: String = (result.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as? String)!
self.lblName.text = "Welcome, \(strFirstName) \(strLastName)"
self.ivUserProfileImage.image = UIImage(data: NSData(contentsOfURL: NSURL(string: strPictureURL)!)!)
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!)
{
let loginManager: FBSDKLoginManager = FBSDKLoginManager()
loginManager.logOut()
ivUserProfileImage.image = nil
lblName.text = ""
}
func configureFacebook()
{
btnFacebook.readPermissions = ["public_profile", "email", "user_friends"];
btnFacebook.delegate = self
}
}
프로파일의 ViewController 코드입니다 VC와 프로필 VC하지만 잘 모르겠습니다.
미리 도움을 주셔서 감사합니다.
에서
** (loginButton : FBSDKLoginButton! didCompleteWithResult 결과 : FBSDKLoginManagerLoginResult! 오류! NSError) ** 기능 모두에서 VC –
나에게도 논리적으로 보이지는 않았지만 프로필 VC에서 strPictureURL을 계속 호출 할 수 없었으므로 다른 VC의 API에 두 번째 호출을 시도 했으므로 분명히 좋은 아이디어는 아닙니다. – TheoF
** func prepareForSegue (segue : UIStoryboardSegue, 보낸 사람 : AnyObject?)를 사용하여 ViewController에서 strPictureURL을 ProfileVC로 전달할 수 있습니다. ** –