cocoa - Twitter OAuth Swift OS X

标签 cocoa swift

我正在尝试使用 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/

相关文章:

cocoa - 如何向 NSPopUpButton(NSMenu) 添加多个具有相同标题的菜单项?

objective-c - CGKey代码表

swift - 如何检查 "Copied text is from which Application"?

objective-c - Mac OS X 中的 top 命令被截断

swift - Guard Swift 编译问题中变量绑定(bind)后的条件

xcode - 对于关键错误,此类不符合键值编码?

swift - 如何在保持 LiDAR 调试网格的同时禁用摄像头馈送?

ios - uinavigationcontroller 在 iOS 中恢复状态时失去色彩

ios - 如何符合基于操作系统版本的协议(protocol)?

swift - SCNIKConstraint 如何工作?