Swift : macOS에서 Swifter를 사용하여 Twitter 인증
Swifter
mattdonnelly/Swifter
Twitter에 대한 OAuth 인증을 좋은 느낌으로 해주는 iOS/macOS 용 라이브러리입니다.
방법
1. Swifter 도입
1. Swifter 도입
SwifterMac
를 빌드하여 프레임 워크를 만듭니다. TARGETS
의 Frameworks, Libraries, and Embedded Content
에 드래그 앤 드롭하여 추가한다. import SwifterMac
CocoaPods와 Carthage의 방법을 확인하십시오.
2. App Sandbox 설정
Signing & Capabilities
> App Sandbox
> Network
> Outgoing Connections (client)
에 체크하기3. Twitter Apps에서 앱을 등록하고 Key를 얻을 수 있습니다.
4. Twitter Apps에서 Callback URL 설정
swifter-[生成されたConsumer API Key]://
CallBack URL로 추가5. URL Schemes 추가
TARGETS
> Info
> URL Types
에 URLSchemes를 추가한다.swifter-[生成されたConsumer API Key]
를 입력합니다.6. AppDelegate.swift 구현
AppDelegate.swift
import Cocoa
import SwifterMac
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(handleEvent),
forEventClass: AEEventClass(kInternetEventClass),
andEventID: AEEventID(kAEGetURL))
LSSetDefaultHandlerForURLScheme("swifter" as CFString, Bundle.main.bundleIdentifier! as CFString)
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
@objc func handleEvent(_ event: NSAppleEventDescriptor!, withReplyEvent: NSAppleEventDescriptor!) {
guard let callbackUrl = URL(string: "swifter-[生成されたConsumer API Key]://") else { return }
guard let urlString = event.paramDescriptor(forKeyword: AEKeyword(keyDirectObject))?.stringValue else { return }
guard let url = URL(string: urlString) else { return }
Swifter.handleOpenURL(url, callbackURL: callbackUrl)
}
}
7. ViewController 구현
ViewController.swift
import Cocoa
import Accounts
import SwifterMac
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
let swifter = Swifter(consumerKey: "[生成されたConsumer API Key]",
consumerSecret: "[生成されたConsumer Secret Key]")
let callbackUrl = URL(string: "swifter-[生成されたConsumer API Key]://")!
swifter.authorize(withCallback: callbackUrl, success: { (_, _) in
Swift.print("Success Authorizing")
// この後はもう好き放題やってケロ
}) { (error) in
Swift.print(error.localizedDescription)
}
}
}
어쩌면 이것으로 갈 수있을 것입니다.
Reference
이 문제에 관하여(Swift : macOS에서 Swifter를 사용하여 Twitter 인증), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kyome/items/597839bd3719aaf9478f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)