baixar vídeo do youtube em formato mp3 no iOS Swift

Existe alguma maneira de obter links .mp3 para vídeos do youtube? Eu tentei vários sites de conversão de youtube online para mp3, mas tudo apenas baixa o arquivo no sistema e não fornece nenhum link para mp3.

Ou

Existe alguma maneira de baixar arquivos de um link, digamos que exista algum link como www.somesongdownloader.com, quando o carregamento deste link no arquivo mp3 do navegador está sendo baixado. mas se eu tentar baixar o mesmo do meu código iOS é apenas baixar o arquivo php e não o arquivo mp3. abaixo está o meu código -

O código abaixo funciona bem para links mp3 que não consigo obter para vídeos do youtube, mas esse código não está funcionando para nenhum URL que fornece arquivo mp3 para download no navegador -

class func loadFileAsync(url: NSURL, completion:(path:String, error:NSError!) -> Void) {
    print("Inside loadFileAsync")
    let documentsUrl =  NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!
    let destinationUrl = documentsUrl.URLByAppendingPathComponent(url.lastPathComponent!)
    if NSFileManager().fileExistsAtPath(destinationUrl.path!) {
        print("file already exists [\(destinationUrl.path!)]")
        completion(path: destinationUrl.path!, error:nil)
    } else {
        let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
        let session = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
        let request = NSMutableURLRequest(URL: url)
        request.HTTPMethod = "GET"

        let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
            if (error == nil) {
                if let response = response as? NSHTTPURLResponse {
                    print("response=\(response)")
                    if response.statusCode == 200 {
                        if data!.writeToURL(destinationUrl, atomically: true) {
                            print("file saved [\(destinationUrl.path!)]")
                            completion(path: destinationUrl.path!, error:error)
                        } else {
                            print("error saving file")
                            let error = NSError(domain:"Error saving file", code:1001, userInfo:nil)
                            completion(path: destinationUrl.path!, error:error)
                        }
                    }
                }
            }
            else {
                print("Failure: \(error!.localizedDescription)");
                completion(path: destinationUrl.path!, error:error)
            }
        })
        task.resume()
    }
}

questionAnswers(1)

yourAnswerToTheQuestion