이 가이드에서는 iOS용 Facebook SDK를 사용하여 iOS 앱과 Facebook을 통합하는 방법을 보여줍니다.
Facebook SDK의 기능:
다음과 같은 항목이 필요합니다.
| 선택 사항 | 해당 패키지를 프로젝트에 추가 |
|---|---|
앱이 Facebook 서비스를 사용하도록 허용 |
|
사용자가 앱에 로그인하고 앱에 데이터 액세스 권한을 요청하도록 허용 |
|
앱이 Facebook에 콘텐츠를 공유하도록 허용 |
|
사용자가 앱에 로그인하여 참여를 유도하고 소셜 기능을 홍보하도록 허용 |
|
앱에 대한 데이터가 포함된 XML 코드 스니펫으로 Info.plist 파일을 구성하세요.
Facebook 로그인을 통합하고 나서 특정 앱 이벤트가 이벤트 관리자에 대해 자동으로 로깅 및 수집됩니다. 단, 자동 앱 이벤트 로깅을 비활성화한 경우는 예외입니다. 수집되는 정보 및 자동 앱 이벤트 로깅을 비활성화하는 방법에 대한 자세한 내용은 자동 앱 이벤트 로깅을 참조하세요.
Info.plist를 마우스 오른쪽 버튼으로 클릭하고 소스 코드로 열기를 선택합니다.
<dict>...</dict>)에 붙여넣습니다.
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>fbAPP-ID</string></array></dict></array><key>FacebookAppID</key><string>APP-ID</string><key>FacebookClientToken</key><string>CLIENT-TOKEN</string><key>FacebookDisplayName</key><string>APP-NAME</string>
[CFBundleURLSchemes] 키의 <array><string>에서 APP-ID를 앱 ID로 대체합니다.FacebookAppID 키의 <string>에서 APP-ID를 앱 ID로 대체합니다.FacebookClientToken 키의 <string>에서 CLIENT-TOKEN을 앱 대시보드의 설정 > 고급 > 클라이언트 토큰에 나와 있는 값으로 대체합니다.FacebookDisplayName 키의 <string>에서 APP-NAME을 앱 이름으로 대체합니다.Info.plist에 다음 항목도 포함해야 합니다.
<key>LSApplicationQueriesSchemes</key><array><string>fbapi</string><string>fb-messenger-share-api</string></array>
FacebookAutoLogAppEventsEnabled를 Info.plist에서 키로 추가하면 앱 이벤트의 자동 수집을 'true' 또는 'false'로 직접 설정할 수 있습니다.
Mac Catalyst 앱에서 로그인이 작동하려면 프로젝트에 키체인 공유 기능을 포함해야 합니다.



다음 코드를 사용하여 AppDelegate.swift 메서드의 코드를 대체합니다. 이 코드는 앱이 시작될 때 SDK를 초기화하며, 로그인이나 공유 작업을 수행할 때 SDK가 Facebook 네이티브 앱의 로그인과 공유를 처리하도록 합니다. 그렇지 않으면 사용자가 Facebook에 로그인한 상태에서만 앱 내 브라우저를 통해 로그인할 수 있습니다.
// AppDelegate.swift
import UIKit
import FBSDKCoreKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
ApplicationDelegate.shared.application(
application,
didFinishLaunchingWithOptions: launchOptions
)
return true
}
func application(
_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]
) -> Bool {
ApplicationDelegate.shared.application(
app,
open: url,
sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: options[UIApplication.OpenURLOptionsKey.annotation]
)
}
}
iOS 13에서는 URL 열기 기능을 SceneDelegate로 옮겼습니다. iOS 13을 사용하고 있다면 다음 메서드를 SceneDelegate에 추가해야 로그인이나 공유 등의 기능이 의도한 대로 작동합니다.
// SceneDelegate.swift
import FBSDKCoreKit
...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let url = URLContexts.first?.url else {
return
}
ApplicationDelegate.shared.application(
UIApplication.shared,
open: url,
sourceApplication: nil,
annotation: [UIApplication.OpenURLOptionsKey.annotation]
)
}
Xcode에서 iOS 시뮬레이터를 선택하고 Run(실행)을 클릭합니다. 그러면 Xcode가 프로젝트를 빌드한 다음 시뮬레이터에서 실행되는 앱의 최신 버전을 실행합니다.
이벤트 관리자에 Facebook에 보낸 이벤트가 표시됩니다. 이 코드를 사용하여 앱을 실행한 것이 처음인 경우 이벤트가 표시되기까지 최소 20분 정도 기다려야 할 수 있습니다.
참고: 대시보드에 이벤트가 표시되기까지 최대 20분이 소요될 수 있습니다.
앱에 앱 이벤트 및 기타 Facebook 제품을 구현하는 방법을 알아보려면 아래 버튼 중 하나를 클릭하세요.
iOS에서 공유Facebook 로그인 추가앱 이벤트 추가그래프 API 사용