iOS용 Facebook SDK 시작하기

이 가이드에서는 iOS용 Facebook SDK를 사용하여 iOS 앱과 Facebook을 통합하는 방법을 보여줍니다.

SDK v13.0부터는 그래프 API를 호출할 때 클라이언트 토큰이 필수입니다.

Facebook SDK의 기능:

시작하기 전에

다음과 같은 항목이 필요합니다.

1단계: 개발 환경 설정

  1. Xcode에서 파일 > Swift 패키지 > 패키지 종속성 추가를 클릭합니다.
  2. 그 후에 나타나는 대화 상자에서 리포지토리 URL(https://github.com/facebook/facebook-ios-sdk)을 입력합니다.
  3. 버전에서 다음 주 버전까지와 기본 옵션을 선택합니다.
  4. 프롬프트에 따라 프로젝트에 사용할 라이브러리를 선택합니다.
  5. 선택 사항해당 패키지를 프로젝트에 추가

    앱이 Facebook 서비스를 사용하도록 허용

    FacebookCore

    사용자가 앱에 로그인하고 앱에 데이터 액세스 권한을 요청하도록 허용

    FacebookLogin

    앱이 Facebook에 콘텐츠를 공유하도록 허용

    FacebookShare

    사용자가 앱에 로그인하여 참여를 지원하고 소셜 기능을 홍보하도록 허용

    FacebookGamingServices

2단계: 프로젝트 구성

앱에 대한 데이터가 포함된 XML 픽셀 코드로 Info.plist 파일을 구성하세요.

Facebook 로그인을 통합하고 나서 특정 앱 이벤트가 이벤트 관리자에 대해 자동으로 로깅 및 수집됩니다. 단, 자동 앱 이벤트 로깅을 비활성화한 경우는 예외입니다. 수집되는 정보 및 자동 앱 이벤트 로깅을 비활성화하는 방법에 대한 자세한 내용은 자동 앱 이벤트 로깅을 참조하세요.

  1. Info.plist를 마우스 오른쪽 버튼으로 클릭하고 소스 코드로 열기를 선택합니다.
  2. 다음 XML 픽셀 코드를 복사하여 파일의 본문(<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>
  3. [CFBundleURLSchemes] 키의 <array><string>에서 APP-ID를 앱 ID로 대체합니다.
  4. FacebookAppID 키의 <string>에서 APP-ID를 앱 ID로 대체합니다.
  5. FacebookClientToken 키의 <string>에서 CLIENT-TOKEN을 앱 대시보드의 설정 > 고급 > 클라이언트 토큰에 나와 있는 값으로 대체합니다.
  6. FacebookDisplayName 키의 <string>에서 APP-NAME을 앱 이름으로 대체합니다.
  7. Facebook 앱으로 앱 전환을 수행할 수 있는 Facebook 대화 상자(예: 로그인, 공유, 앱 초대 등)를 사용하려면 앱의 Info.plist에 다음 항목도 포함해야 합니다.
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

FacebookAutoLogAppEventsEnabledInfo.plist에서 키로 추가하면 앱 이벤트의 자동 수집을 'true' 또는 'false'로 직접 설정할 수 있습니다.

Mac Catalyst 앱에서 로그인이 작동하려면 프로젝트에 키체인 공유 기능을 포함해야 합니다.
  1. 앱 타겟을 구성할 때 서명 및 기능 탭에서 + 기능 버튼을 선택합니다.
  2. 키체인 공유 기능을 찾아서 선택합니다.
  3. 키체인 공유 기능이 타겟에 대해 등록되어 있는지 확인합니다.

3단계: 앱 델리게이트 연결

다음 코드를 사용하여 AppDelegate.swift 메서드의 코드를 대체합니다. 이 코드는 앱이 시작될 때 SDK를 초기화하며, 로그인이나 공유 작업을 수행할 때 SDK가 Facebook 네이티브 앱의 로그인과 공유를 처리하도록 합니다. 그렇지 않으면 사용자가 Facebook에 로그인한 상태에서만 앱 내 브라우저를 통해 로그인할 수 있습니다.
    
// AppDelegate.swift
import UIKit
import FacebookCore

@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 FacebookCore
  ...
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]
    )
}

4단계: 프로젝트를 빌드한 후 시뮬레이터에서 실행

Xcode에서 iOS 시뮬레이터를 선택하고 실행을 클릭하세요. Xcode는 프로젝트를 빌드한 다음 시뮬레이터에서 실행되는 앱의 최신 버전을 실행합니다.

5단계: 이벤트 관리자에서 결과 확인


이벤트 관리자에 Facebook에 보낸 이벤트가 표시됩니다. 이 코드를 사용하여 앱을 실행한 것이 처음인 경우 이벤트가 표시되기까지 최소 20분 정도 기다려야 할 수 있습니다.
참고: 대시보드에 이벤트가 표시되기까지 최대 20분이 소요될 수 있습니다.

다음 단계

앱에 앱 이벤트 및 기타 Facebook 제품을 구현하는 방법을 알아보려면 아래 버튼 중 하나를 클릭하세요.

iOS에서 공유Facebook 로그인 추가앱 이벤트 추가그래프 API 사용
고급 구성