Tích hợp đăng nhập LinkedIn trong ứng dụng Swift
Đầu tiên, tải xuống SDK iOS của LinkedIn .Tôi sẽ sử dụng phiên bản ổn định 1.07 cho ví dụ này. Tôi sẽ làm theo hướng dẫn tích hợp đây .
- tạo một cái mới Ứng dụng dành cho nhà phát triển .
- Thêm mã nhận dạng gói của ứng dụng iOS vào ứng dụng LinkedIn của bạn trong Thiết bị di động.
- Thêm ID ứng dụng LinkedIn và Lược đồ URL vào tệp Info.plist của ứng dụng.
- Lược đồ URL LinkedIn và URL ATS được chỉ định trong danh sách trắng.
- Sẽ
Linkedin-sdk.framework
thư viện vào ứng dụng của bạn. Đảm bảo chọn "Sao chép tệp nếu cần" và "Tạo nhóm để tham chiếu thư mục".
Dự án đã được thiết lập, bây giờ hãy viết một số mã!
Tạo một tập tin có tên BridgeHeader.h
tập tin tiêu đề mới. Trong Mục tiêu -> YourApp -> Cài đặt bản dựng -> Trình biên dịch Swift - Tạo mã, thay đổi MyApp/BridgingHeader.h
Đã thêm vào "Tiêu đề cầu nối Objective-C".
trong của bạn BridgeHeader.h
, thêm hai dòng sau:
#import
#import
Trong AppDelegate.swift của bạn, hãy thêm mã này để xử lý lệnh gọi lại URL OAuth:
nhanh 3:
ứng dụng func(_ ứng dụng: UIApplication, url mở: URL, sourceApplication: String?, chú thích: Bất kỳ) -> Bool {
nếu LISDKCallbackHandler. ShouldHandle(url) {
trả về LISDKCallbackHandler.application(ứng dụng, open: url, sourceApplication: sourceApplication, chú thích: chú thích)
}
trả lại sự thật
}
nhanh chóng 2.x:
ứng dụng func (ứng dụng: UIApplication, url openURL: NSURL, sourceApplication: String?, chú thích: AnyObject) -> Bool {
nếu LISDKCallbackHandler. ShouldHandleUrl(url) {
trả về LISDKCallbackHandler.application(ứng dụng, openURL: url, sourceApplication: sourceApplication, chú thích: chú thích)
}
trả lại sự thật
}
Bây giờ là lúc đăng nhập người dùng. Trong Trình điều khiển xem của bạn, giả sử bạn có nút "Đăng nhập". của bạn IBAHành động
Nó có thể trông như thế này:
@IBAction func doLogin(người gửi: AnyObject) {
LISDKSessionManager.createSessionWithAuth([LISDK_BASIC_PROFILE_PERMISSION], state: nil, showGoToAppStoreDialog: true, SuccessBlock: { (returnState) -> Bỏ trống
print("gọi thành công!")
hãy để phiên = LISDKSessionManager.sharedInstance().session
}) { (lỗi) -> Bỏ trống
print("Lỗi: \(lỗi)")
}
}
Khi đăng nhập, người dùng sẽ được yêu cầu xác thực với ứng dụng của bạn:
Nếu người dùng cho phép, khối thành công sẽ được gọi và bạn có thể lấy thông tin về người dùng được xác thực. Nếu đăng nhập không thành công hoặc người dùng không được phép truy cập, khối lỗi sẽ được gọi và bạn có thể cảnh báo người dùng về sự cố.
Để nhận thông tin về người dùng được xác thực của chúng tôi, hãy gọi yêu cầu GET trên hồ sơ của người dùng:
hãy để url = "https://api.linkedin.com/v1/people/~"
nếu LISDKSessionManager.hasValidSession() {
LISDKAPIHelper.sharedInstance().getRequest(url, thành công: { (phản hồi) -> Bỏ trống
in(phản hồi)
}, lỗi: { (lỗi) -> Bỏ trống
in (lỗi)
})
}
phản hồi.data
Sẽ chứa thông tin về người dùng được xác thực:
"{\n \"firstName\": \"Josh\",\n \"headline\": \"Kỹ sư di động cấp cao tại A+E Networks\",\n ... }"
đọctài liệuTìm hiểu thêm về những gì bạn có thể làm với API.
Có thể tìm thấy một dự án mẫu (ID ứng dụng của tôi đã bị xáo trộn)đây .
Tôi là một lập trình viên xuất sắc, rất giỏi!