2015-02-07 3 views
0

Я пытаюсь интегрировать Twitter OAuth в мое приложение OS X с Swift. Я получаю токен запроса из API Twitter, а затем использую протокол приложения как callbackURL appname://oauth.Twitter 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.

Как я понимаю, это не сработает, поскольку у Cocoa нет UIApplication.

Может ли кто-нибудь помочь мне скорректировать приведенный выше код для OS X?

ответ

1

Вам все равно необходимо зарегистрировать протокол своего приложения (urlScheme) в файле info.plist. Предполагая, что вы это сделали. Вы хотите сделать что-то вроде следующего в приложение делегата:

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