Swift로 iOS 앱에 페이스북 로그인 기능 구현하기 튜토리얼
11 분
swift 튜토리얼을 사용하여 ios 앱에 facebook 로그인 추가하기 소개 이 섹션에서는 facebook 로그인을 사용하여 사용자 등록이 가능한 앱을 만드는 방법과 parse server 핵심 기능 https //www back4app com/product/parse server 을 back4app을 통해 설명합니다 전제 조건 이 빠른 시작을 완료하려면 다음이 필요합니다 xcode https //developer apple com/xcode/ back4app에서 생성된 앱 다음의 새 parse 앱 튜토리얼 https //www back4app com/docs/get started/new parse app 을 따라 back4app에서 parse 앱을 만드는 방법을 배우세요 back4app에 연결된 ios 앱 참고 다음의 parse sdk (objc) 설치 튜토리얼 https //www back4app com/docs/ios/parse objc sdk 을 따라 back4app에 연결된 xcode 프로젝트를 만드세요 1 페이스북 설정 페이스북 기능을 사용하려면 다음을 수행해야 합니다 다음으로 가십시오 페이스북 개발자 웹사이트 https //developers facebook com/ 에 가서 계정과 앱을 만드세요 parse 애플리케이션의 설정 페이지에 애플리케이션의 페이스북 애플리케이션 id를 추가하세요 페이스북 sdk 시작하기 위한 지침을 따르세요 https //developers facebook com/docs/ios/getting started 를 따라 페이스북 sdk에 연결된 앱을 만드세요 2 페이스북 앱을 back4app과 연결하기 앱 대시보드로 이동하세요 back4app 웹사이트 https //www back4app com/ 를 클릭하고 \<font color="#2166ae">서버 설정\</font> 을 클릭하세요 “facebook 로그인” 블록을 찾아서 \<font color="#2166ae">설정\</font> 을 클릭하세요 “facebook 로그인” 블록은 다음과 같습니다 3\ xcode 프로젝트로 돌아가서 \<font color="#2166ae">info plist\</font> 에서 facebook 구성 https //developers facebook com/docs/facebook login/ios , 4a단계, 항목 2의 코드를 복사하여 \<font color="#2166ae">\<dict\> \</dict\>\</font> 부분에 붙여넣으세요 4\ facebook의 대화 상자를 사용하려면, 4a단계, 항목 3의 코드를 복사하여 \<font color="#2166ae">info plist\</font> 파일에 붙여넣으세요 5\ 저장하세요 3 앱 설정하기 다음 코드를 application\ didfinishlaunchingwithoptions 메서드에 추가하세요 parse sdk를 초기화한 후에 1 import fbsdkcorekit 2 import parse 3 4 // appdelegate swift 5 func application(application uiapplicatiofunc application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplication launchoptionskey any]?) > bool { 6 // initialize parse 7 let parseconfig = parseclientconfiguration { 8 $0 applicationid = "parseappid" 9 $0 clientkey = "parseclientkey" 10 $0 server = "parseserverurlstring" 11 } 12 parse initialize(with parseconfig) 13 pffacebookutils initializefacebook(applicationlaunchoptions launchoptions) 14 } 2\ 앱 델리게이트에 다음 핸들러를 추가하세요 1 func application( application uiapplication, open url url, sourceapplication string?, annotation any) > bool { 2 3 return fbsdkapplicationdelegate sharedinstance() application( 4 application, 5 open url, 6 sourceapplication sourceapplication, 7 annotation annotation 8 ) 9 10 } 11 12 func application( app uiapplication, open url url, options \[uiapplication openurloptionskey any] = \[ ]) > bool { 13 14 return fbsdkapplicationdelegate sharedinstance() application( 15 app, 16 open url, 17 sourceapplication options\[ sourceapplication] as? string, 18 annotation options\[ annotation] 19 ) 20 21 } 22 23 //make sure it isn't already declared in the app delegate (possible redefinition of func error) 24 func applicationdidbecomeactive( application uiapplication) { 25 fbsdkappevents activateapp() 26 } 4 로그인 및 회원가입 \<font color="#2166ae">pfuser\</font> 는 사용자가 facebook을 통해 로그인하거나 회원가입할 수 있는 방법을 제공합니다 이는 다음과 같이 \<font color="#2166ae">logininbackgroundwithreadpermissions\</font> 메서드를 사용하여 수행됩니다 1 pffacebookutils logininbackground(withreadpermissions permissions) { 2 (user pfuser?, error error?) in 3 if let user = user { 4 if user isnew { 5 print("user signed up and logged in through facebook!") 6 } else { 7 print("user logged in through facebook!") 8 } 9 } else { 10 print("uh oh the user cancelled the facebook login ") 11 } 12 } 이 코드를 실행하면 다음과 같은 일이 발생합니다 사용자에게 facebook 로그인 대화 상자가 표시됩니다 사용자가 facebook을 통해 인증하고, 귀하의 앱은 \<font color="#2166ae">handleopenurl\</font> 우리 sdk는 사용자의 facebook 액세스 데이터를 수신하고 이를 \<font color="#2166ae">pfuser\</font> 동일한 facebook id를 가진 \<font color="#2166ae">pfuser\</font> 가 존재하지 않으면 새로운 \<font color="#2166ae">pfuser\</font> 가 생성됩니다 사용자와 함께 코드 블록이 호출됩니다 현재 사용자 참조가 이 사용자로 업데이트됩니다 permissions 인자는 귀하의 앱이 facebook 사용자로부터 요구하는 권한을 지정하는 문자열 배열입니다 이 권한은 읽기 권한만 포함해야 합니다 사용자가 귀하의 앱을 통해 예를 들어 그들의 대신 상태 업데이트를 게시할 수 있도록 게시 권한을 얻으려면, \[pffacebookutils \<font color="#2166ae">logininbackgroundwithpublishpermissions ] \</font> 1 pffacebookutils logininbackgroundwithpublishpermissions(\["publish actions"], { 2 (user pfuser?, error nserror?) > void in 3 if user != nil { 4 // your app now has publishing permissions for the user 5 } 6 }) 5 연결하기 기존의 \<font color="#2166ae">pfuser\</font> 를 facebook 계정에 연결하려면 다음과 같이 할 수 있습니다 1 if !pffacebookutils islinkedwithuser(user) { 2 pffacebookutils linkuserinbackground(user, withreadpermissions nil, { 3 (succeeded bool?, error nserror?) > void in 4 if succeeded { 5 print("woohoo, the user is linked with facebook!") 6 } 7 }) 8 } 6 연결 해제하기 사용자에서 facebook 연결을 해제하려면, 간단히 다음과 같이 하세요 1 pffacebookutils unlinkuserinbackground(user, { 2 (succeeded bool?, error nserror?) > void in 3 if succeeded { 4 print("the user is no longer associated with their facebook account ") 5 } 6 })