Swift4.0에서 '페이스 북으로 로그인'을 구현할 때까지 작성하고 싶습니다.
15251 단어 FacebookSDKSwiftios11Facebook
환경
Xcode 9.0
iOS 11.0.1
Swift 버전 4.0
FacebookSDKs-iOS-4.27.0
먼저 시작하고 싶습니다.
Facebook 개발자가 아닌 분은 합시다.
htps : //에서 ゔぇぺぺrs. 후세보오 k. 코m/
앱을 추가하고 AppID와 앱 이름을 기억하십시오.
FacebookSDK 다운로드
ぇぺぺrs. 후세보오 k. 코 m / 도 cs / 이오 s / 도 w
「FacebookSDKs-iOS-x.x.x.zip」을 알기 쉽게 "~/Documents/"에 해동해 이름을 「FacebookSDK」로 해 본다.
라고 하는 것으로 해동한 폴더 "~/Documents/FacebookSDK/"를 보면(자) 안에 「FBSDK 호냐라.framework」라든지 많이 들어가 있습니다.
이것으로 아래 준비는 OK
테스트 프로젝트를 만들고 싶습니다.
Xcode에서 새로운 Single View App의 iOS 프로젝트를 만드세요.
저는 "FacebookLoginTest"라는 이름으로 진행합니다.
FacebookSDK를로드하고 싶습니다.
프로젝트의 「General」내에 있는 「Linked Frameworks and Libraries」에, 방금 다운로드해 해동한 FacebookSDK내의
FBSDKLoginKit.framework
FBSDKCoreKit.framework
를 추가합시다.
다음으로 프로젝트의 'Build Settings'내의 'Framework Search Paths'에
"~/Documents/FacebookSDK"를 추가하세요.
info.plist를 편집하고 싶습니다.
다음으로 "info.plist"의 코드를 열어 아래를 dict에 추가합시다.
info.plist<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbさっき控えたアプリID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>さっき控えたアプリID</string>
<key>FacebookDisplayName</key>
<string>さっき控えたアプリ名</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
키 체인 공유를 켜고 싶습니다.
프로젝트의 Capabilities 안에 있는 Keychain Sharing을 ON으로 합시다.
FacebookSDK는 키 체인에 액세스하는 것 같기 때문에.
드디어 코딩하고 싶습니다.
AppDelegate.swift
FacebookSDK를 먼저 import
AppDelegate.swiftimport FBSDKCoreKit
AppDelegate.swift의 모든 메소드를 주석 처리하십시오.
그리고 다음을 AppDelegate.swift에 복사하십시오.
AppDelegate.swiftfunc application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ application: UIApplication,open url: URL,sourceApplication: String?,annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
괜찮은 것 같습니다.
ViewController.swift
FacebookSDK를 먼저 import
이쪽은 로그인계의 framework 「FBSDKLoginKit」도 import
ViewController.swiftimport FBSDKCoreKit
import FBSDKLoginKit
「페이스 북으로 로그인」용의 Delegate 「FBSDKLoginButtonDelegate」를 상속
ViewController.swiftclass ViewController: UIViewController,FBSDKLoginButtonDelegate {
ViewController.swift// ログインのコールバック
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
// ログアウトのコールバック
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
Facebook 로그인용 버튼이 SDK에 준비되어 있으므로, 그쪽을 사용해 보겠습니다.
let fbLoginBtn = FBSDKLoginButton()
fbLoginBtn.readPermissions = ["public_profile", "email"]
fbLoginBtn.center = self.view.center
fbLoginBtn.delegate = self
self.view.addSubview(fbLoginBtn)
이제 화면의 중간에 버튼이 추가됩니다.fbLoginBtn.readPermissions = ["public_profile", "email"]
배열 안에는 사용하고 싶은 Facebook 정보의 이름을 넣는 것 같습니다.["public_profile", "email","user_friends"]
라고 하면 친구 리스트의 정보 겟트 할 수 있는 것 같습니다. (시험하지 않음)
이미 로그인했을 때는 로그인을 날려 다음 화면으로 가고 싶네요.
그런 때는FBSDKAccessToken.current()
가 nil인지 아닌지로 판정합시다.
이들을 조합하여
Facebook 개발자가 아닌 분은 합시다.
htps : //에서 ゔぇぺぺrs. 후세보오 k. 코m/
앱을 추가하고 AppID와 앱 이름을 기억하십시오.
FacebookSDK 다운로드
ぇぺぺrs. 후세보오 k. 코 m / 도 cs / 이오 s / 도 w
「FacebookSDKs-iOS-x.x.x.zip」을 알기 쉽게 "~/Documents/"에 해동해 이름을 「FacebookSDK」로 해 본다.
라고 하는 것으로 해동한 폴더 "~/Documents/FacebookSDK/"를 보면(자) 안에 「FBSDK 호냐라.framework」라든지 많이 들어가 있습니다.
이것으로 아래 준비는 OK
테스트 프로젝트를 만들고 싶습니다.
Xcode에서 새로운 Single View App의 iOS 프로젝트를 만드세요.
저는 "FacebookLoginTest"라는 이름으로 진행합니다.
FacebookSDK를로드하고 싶습니다.
프로젝트의 「General」내에 있는 「Linked Frameworks and Libraries」에, 방금 다운로드해 해동한 FacebookSDK내의
FBSDKLoginKit.framework
FBSDKCoreKit.framework
를 추가합시다.
다음으로 프로젝트의 'Build Settings'내의 'Framework Search Paths'에
"~/Documents/FacebookSDK"를 추가하세요.
info.plist를 편집하고 싶습니다.
다음으로 "info.plist"의 코드를 열어 아래를 dict에 추가합시다.
info.plist<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbさっき控えたアプリID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>さっき控えたアプリID</string>
<key>FacebookDisplayName</key>
<string>さっき控えたアプリ名</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
키 체인 공유를 켜고 싶습니다.
프로젝트의 Capabilities 안에 있는 Keychain Sharing을 ON으로 합시다.
FacebookSDK는 키 체인에 액세스하는 것 같기 때문에.
드디어 코딩하고 싶습니다.
AppDelegate.swift
FacebookSDK를 먼저 import
AppDelegate.swiftimport FBSDKCoreKit
AppDelegate.swift의 모든 메소드를 주석 처리하십시오.
그리고 다음을 AppDelegate.swift에 복사하십시오.
AppDelegate.swiftfunc application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ application: UIApplication,open url: URL,sourceApplication: String?,annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
괜찮은 것 같습니다.
ViewController.swift
FacebookSDK를 먼저 import
이쪽은 로그인계의 framework 「FBSDKLoginKit」도 import
ViewController.swiftimport FBSDKCoreKit
import FBSDKLoginKit
「페이스 북으로 로그인」용의 Delegate 「FBSDKLoginButtonDelegate」를 상속
ViewController.swiftclass ViewController: UIViewController,FBSDKLoginButtonDelegate {
ViewController.swift// ログインのコールバック
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
// ログアウトのコールバック
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
Facebook 로그인용 버튼이 SDK에 준비되어 있으므로, 그쪽을 사용해 보겠습니다.
let fbLoginBtn = FBSDKLoginButton()
fbLoginBtn.readPermissions = ["public_profile", "email"]
fbLoginBtn.center = self.view.center
fbLoginBtn.delegate = self
self.view.addSubview(fbLoginBtn)
이제 화면의 중간에 버튼이 추가됩니다.fbLoginBtn.readPermissions = ["public_profile", "email"]
배열 안에는 사용하고 싶은 Facebook 정보의 이름을 넣는 것 같습니다.["public_profile", "email","user_friends"]
라고 하면 친구 리스트의 정보 겟트 할 수 있는 것 같습니다. (시험하지 않음)
이미 로그인했을 때는 로그인을 날려 다음 화면으로 가고 싶네요.
그런 때는FBSDKAccessToken.current()
가 nil인지 아닌지로 판정합시다.
이들을 조합하여
프로젝트의 「General」내에 있는 「Linked Frameworks and Libraries」에, 방금 다운로드해 해동한 FacebookSDK내의
FBSDKLoginKit.framework
FBSDKCoreKit.framework
를 추가합시다.
다음으로 프로젝트의 'Build Settings'내의 'Framework Search Paths'에
"~/Documents/FacebookSDK"를 추가하세요.
info.plist를 편집하고 싶습니다.
다음으로 "info.plist"의 코드를 열어 아래를 dict에 추가합시다.
info.plist<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbさっき控えたアプリID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>さっき控えたアプリID</string>
<key>FacebookDisplayName</key>
<string>さっき控えたアプリ名</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
키 체인 공유를 켜고 싶습니다.
프로젝트의 Capabilities 안에 있는 Keychain Sharing을 ON으로 합시다.
FacebookSDK는 키 체인에 액세스하는 것 같기 때문에.
드디어 코딩하고 싶습니다.
AppDelegate.swift
FacebookSDK를 먼저 import
AppDelegate.swiftimport FBSDKCoreKit
AppDelegate.swift의 모든 메소드를 주석 처리하십시오.
그리고 다음을 AppDelegate.swift에 복사하십시오.
AppDelegate.swiftfunc application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ application: UIApplication,open url: URL,sourceApplication: String?,annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
괜찮은 것 같습니다.
ViewController.swift
FacebookSDK를 먼저 import
이쪽은 로그인계의 framework 「FBSDKLoginKit」도 import
ViewController.swiftimport FBSDKCoreKit
import FBSDKLoginKit
「페이스 북으로 로그인」용의 Delegate 「FBSDKLoginButtonDelegate」를 상속
ViewController.swiftclass ViewController: UIViewController,FBSDKLoginButtonDelegate {
ViewController.swift// ログインのコールバック
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
// ログアウトのコールバック
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
Facebook 로그인용 버튼이 SDK에 준비되어 있으므로, 그쪽을 사용해 보겠습니다.
let fbLoginBtn = FBSDKLoginButton()
fbLoginBtn.readPermissions = ["public_profile", "email"]
fbLoginBtn.center = self.view.center
fbLoginBtn.delegate = self
self.view.addSubview(fbLoginBtn)
이제 화면의 중간에 버튼이 추가됩니다.fbLoginBtn.readPermissions = ["public_profile", "email"]
배열 안에는 사용하고 싶은 Facebook 정보의 이름을 넣는 것 같습니다.["public_profile", "email","user_friends"]
라고 하면 친구 리스트의 정보 겟트 할 수 있는 것 같습니다. (시험하지 않음)
이미 로그인했을 때는 로그인을 날려 다음 화면으로 가고 싶네요.
그런 때는FBSDKAccessToken.current()
가 nil인지 아닌지로 판정합시다.
이들을 조합하여
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbさっき控えたアプリID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>さっき控えたアプリID</string>
<key>FacebookDisplayName</key>
<string>さっき控えたアプリ名</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
프로젝트의 Capabilities 안에 있는 Keychain Sharing을 ON으로 합시다.
FacebookSDK는 키 체인에 액세스하는 것 같기 때문에.
드디어 코딩하고 싶습니다.
AppDelegate.swift
FacebookSDK를 먼저 import
AppDelegate.swiftimport FBSDKCoreKit
AppDelegate.swift의 모든 메소드를 주석 처리하십시오.
그리고 다음을 AppDelegate.swift에 복사하십시오.
AppDelegate.swiftfunc application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ application: UIApplication,open url: URL,sourceApplication: String?,annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
괜찮은 것 같습니다.
ViewController.swift
FacebookSDK를 먼저 import
이쪽은 로그인계의 framework 「FBSDKLoginKit」도 import
ViewController.swiftimport FBSDKCoreKit
import FBSDKLoginKit
「페이스 북으로 로그인」용의 Delegate 「FBSDKLoginButtonDelegate」를 상속
ViewController.swiftclass ViewController: UIViewController,FBSDKLoginButtonDelegate {
ViewController.swift// ログインのコールバック
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
// ログアウトのコールバック
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
Facebook 로그인용 버튼이 SDK에 준비되어 있으므로, 그쪽을 사용해 보겠습니다.
let fbLoginBtn = FBSDKLoginButton()
fbLoginBtn.readPermissions = ["public_profile", "email"]
fbLoginBtn.center = self.view.center
fbLoginBtn.delegate = self
self.view.addSubview(fbLoginBtn)
이제 화면의 중간에 버튼이 추가됩니다.fbLoginBtn.readPermissions = ["public_profile", "email"]
배열 안에는 사용하고 싶은 Facebook 정보의 이름을 넣는 것 같습니다.["public_profile", "email","user_friends"]
라고 하면 친구 리스트의 정보 겟트 할 수 있는 것 같습니다. (시험하지 않음)
이미 로그인했을 때는 로그인을 날려 다음 화면으로 가고 싶네요.
그런 때는FBSDKAccessToken.current()
가 nil인지 아닌지로 판정합시다.
이들을 조합하여
import FBSDKCoreKit
func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ application: UIApplication,open url: URL,sourceApplication: String?,annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
import FBSDKCoreKit
import FBSDKLoginKit
class ViewController: UIViewController,FBSDKLoginButtonDelegate {
// ログインのコールバック
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
// ログアウトのコールバック
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
let fbLoginBtn = FBSDKLoginButton()
fbLoginBtn.readPermissions = ["public_profile", "email"]
fbLoginBtn.center = self.view.center
fbLoginBtn.delegate = self
self.view.addSubview(fbLoginBtn)
하고 갑니다.
ViewController.swift
import UIKit
import FBSDKCoreKit
import FBSDKLoginKit
class ViewController: UIViewController,FBSDKLoginButtonDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
// ログイン済みかチェック
if let _ = FBSDKAccessToken.current() {
// 画面遷移
performSegue(withIdentifier: "modalTop", sender: self)
}else{
// FBログインボタン設置
let fbLoginBtn = FBSDKLoginButton()
fbLoginBtn.readPermissions = ["public_profile", "email"]
fbLoginBtn.center = self.view.center
fbLoginBtn.delegate = self
self.view.addSubview(fbLoginBtn)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// ログインコールバック
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
// エラーチェック
if error == nil {
// キャンセルしたかどうか
if result.isCancelled {
print("キャンセル")
}else{
// 画面遷移
performSegue(withIdentifier: "modalTop", sender: self)
}
}else{
print("エラー")
}
}
// ログアウトコールバック
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
}
performSegue(withIdentifier: "modalTop", sender: self)
이것이 TOP 화면으로 전환하는 세구에입니다.우선 이것으로 Facebook으로 로그인은 구현할 수 있었습니다.
끝에
첫 투고였지만 이렇게 쓰면서 앱을 만들고 있다고 기억하네요!
다른 「○○로 로그인」도 조사해보고 싶습니다!
의견 감상은 코멘트까지 부탁합니다.
Reference
이 문제에 관하여(Swift4.0에서 '페이스 북으로 로그인'을 구현할 때까지 작성하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/palinco41kcal/items/92b64eadc54a46350d6c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Swift4.0에서 '페이스 북으로 로그인'을 구현할 때까지 작성하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/palinco41kcal/items/92b64eadc54a46350d6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)