Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> iOS

Cách tích hợp đăng nhập Facebook vào ứng dụng iOS bằng Swift

Đăng nhập mạng xã hội đã trở thành tiêu chuẩn trong các ứng dụng hiện nay. Facebook Login là một trong những phương thức phổ biến nhất. Bài viết này hướng dẫn cách tích hợp Facebook Login để truy xuất thông tin người dùng cơ bản và đăng nhập vào ứng dụng.

Quy trình tích hợp (bắt buộc làm đúng từng bước)

Bước 1: Đăng ký tài khoản Developer

Truy cập: https://developers.facebook.com/ → Đăng ký làm Developer.

Bước 2: Tạo App mới

Sau khi đăng ký xong, vào Dashboard → Góc trên bên trái → Create App (hoặc Create Test App) → Nhập tên ứng dụng.

Cách tích hợp đăng nhập Facebook vào ứng dụng iOS bằng Swift

Cách tích hợp đăng nhập Facebook vào ứng dụng iOS bằng Swift

Bước 3: Cấu hình nền tảng iOS

Vào tab Settings (menu trái) → Kéo xuống Add Platform → Chọn iOS.

Cách tích hợp đăng nhập Facebook vào ứng dụng iOS bằng Swift

Nhập thông tin:

  • Bundle ID: Bundle Identifier của app Xcode (ví dụ: com.company.appname)
  • iPhone Store ID: ID trên App Store (nếu đã có, không thì để trống)

Bật "Single Sign On" trong phần cài đặt.

Bước 4: Cài đặt SDK qua CocoaPods

Mở Podfile và thêm:

pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'

Chạy pod install trong Terminal.

Bước 5: Cấu hình Info.plist

Thêm các key sau vào Info.plist (thay {your-app-id} và {your-app-name} bằng giá trị thực):

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb{your-app-id}</string>
        </array>
    </dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-share-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
</array>

Bước 6: Triển khai code Swift

Import SDK và thêm nút đăng nhập:

import FacebookLogin

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let loginButton = LoginButton(readPermissions: [.publicProfile])
        loginButton.center = view.center
        view.addSubview(loginButton)
    }
}

Lấy thông tin người dùng sau khi đăng nhập

Sau khi đăng nhập thành công, bạn có thể lấy profile:

import FacebookCore

// Trong delegate hoặc completion handler
let request = GraphRequest(graphPath: "me", parameters: ["fields": "id,name,email,picture.type(large)"])
request.start { (_, result, error) in
    if let data = result as? [String: Any] {
        print("User ID: \(data["id"] ?? "")")
        print("Name: \(data["name"] ?? "")")
        print("Email: \(data["email"] ?? "")")
    }
}

Lưu ý quan trọng

  • App phải được duyệt bởi Facebook (App Review) để xin quyền public_profile, email cho user thực
  • Test với tài khoản Developer/Tester trước khi submit review
  • Luôn xử lý trường hợp user từ chối cấp quyền
  • Tuân thủ Facebook Platform Policy