我正在尝试使用 Swift 将 Twitter OAuth 集成到我的 OS X 应用程序中。我从 Twitter API 获取请求 token ,然后使用应用程序的协议(protocol)作为回调 URL appname://oauth
。
我看过一个 iOS 教程,它使用类似的内容,然后从 url
传递请求 token ,然后获取访问 token 。
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool {
// Fetch access token
return true
}
已添加到 AppDelegate.swift
中。
据我了解,这不起作用,因为 Cocoa 没有 UIApplication
。
谁能帮我调整上面的 OS X 代码吗?
最佳答案
您仍然需要在其 info.plist 文件中注册应用程序的协议(protocol) (urlScheme)。假设你已经这样做了。您需要在应用程序委托(delegate)中执行类似以下操作:
let eventManager = NSAppleEventManager.sharedAppleEventManager()
eventManager.setEventHandler(self, andSelector:
Selector("handleEvent:withReplyEvent:"),
forEventClass: AEEventClass(kInternetEventClass),
andEventID: AEEventID(kAEGetURL))
其中 Selector("handleAppleEvent") 映射到函数名称
func handleEvent(event: NSAppleEventDescriptor!, withReplyEvent: NSAppleEventDescriptor!) {
println("Check the event for info")
}
关于cocoa - Twitter OAuth Swift OS X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28388422/