2015-02-07 80 views
0

我试图将Twitter OAuth与Swift整合到我的OS X应用程序中。我从Twitter API获取请求令牌,然后使用该应用的协议作为回调URL appname://oauthTwitter OAuth Swift OS X

我已经看过iOS的教程,它使用类似这样的内容,然后从url传递请求令牌,然后获取访问令牌。

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool { 
    // Fetch access token 
    return true 
} 

哪些被添加到AppDelegate.swift

据我所知,这不会工作,因为可可没有UIApplication

任何人都可以帮助我调整OS X的上述代码?

回答

1

您仍然需要在其info.plist文件中注册您的应用程序的协议(urlScheme)。假设你已经做到了。你会想要做这样的事情在应用程序的委托执行以下操作:

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") 
}