반응형
1.FaceBook Developers 접속
developers.facebook.com/docs/facebook-login/ios
2.라이브러리 설치
2-1 프로젝트 폴더 안에 podfile 실행 후 pod 'FBSDKLoginKit' 저장
2-2 해당 프로젝트 경로 이동후 pod install
3.Facebook 개발자 사이트에서 앱 등록하기
https://developers.facebook.com/apps/
3-1 설정 등록(해당 항목 없을시 아무거나)
3-3 번들 아이디 입력
#번들 ID 확인
3-4 페이스북 로그인
4.info.plist 설정
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb3316615658620123</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>fb3316615658620123</string>
<key>FacebookClientToken</key>
<string>72ca5d6cf829fdd29782f0137d11153f</string>
<key>FacebookDisplayName</key>
<string>HealthZZang</string>
####중요####
Info.plist에만 하면 안되고 target 클릭해서 나오는 Info 에도 FacebookAppID, FacebookClientToken, FacebookDisplayName 입력해줘야 합니다.
왜 한가지만 하면 안되는지 모르겠음ㅜㅜㅜㅜ
#APP ID 및 토큰 찾는법
5.코드 입력
#AppDelegate 사용시
import FBSDKoreKit
#SceneDelegate 사용시
import FBSDKoreKit
1-1 실행
# 로그인이 안되어 있을경우 로그인 버튼 함수 생성(LoginButtonDelegate 상속)
extension SocialLoginManager: LoginButtonDelegate {
func startFacebookLogin(){
//로그인 되어있는 경우
if AccessToken.current?.isExpired != true &&
AccessToken.current?.userID != nil &&
AccessToken.current?.tokenString != nil {
let userId = AccessToken.current?.userID
let tokenString = AccessToken.current?.tokenString
print("userID: ",userId)
delegate?.socialLogin(social_id: userId ?? "0", type: .facebook, platform: 3)
} else {
let fbInstance = FBLoginButton()
fbInstance.delegate = self
fbInstance.permissions = ["public_profile", "email"]
fbInstance.sendActions(for: .touchUpInside)
}
}
func loginButton(_ loginButton: FBLoginButton, didCompleteWith result: LoginManagerLoginResult?, error: Error?) {
if let error = error {
//self.delegate?.onError(.facebook, error)
} else {
if let result = result {
let tokenString = result.token?.tokenString ?? ""
let userId = result.token?.userID
print("userId: ",userId)
}
}
}
func loginButtonDidLogOut(_ loginButton: FBLoginButton) {
}
}
###그래도 Appdelegate에서
Thread 1: Exception: "App ID not found. Add a string value with your app ID for the key FacebookAppID to the Info.plist or call [FBSDKSettings setAppID:].
에러가 뜬다면
import FBSDKCoreKit
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions )//Facebook loing 하기 위해 사용된 코드
FBSDKCoreKit.Settings.shared.appID = "176370900064477"
return true
}
같이 입력해주세요.
반응형
'Swift' 카테고리의 다른 글
iOS 애플 로그인 (0) | 2022.02.27 |
---|---|
iOS 구글 로그인 (0) | 2022.02.27 |
iOS 네이버 로그인 (0) | 2022.02.26 |
iOS 카카오 로그인 (0) | 2022.02.26 |
FCM, APNS 연동 방법 (3) | 2022.02.25 |