 
 struct GeneratorSettings {
     var plistPath: String?
-    var keys: [String]?
+    var keys: (appID: String, appKey: String)?
     var outputPath: String
 }
 


        // Get keys if present
        if let keysArray = parsedArguments["-keys"] where keysArray.count == 2 {
            keys = keysArray
        }

        // Check if we have keys
        if plistPath == nil && keys?.count != 2 {
            throw NSError(domain: TranslationsGenerator.errorDomain, code: ErrorCode.WrongArguments.rawValue,
                userInfo: [NSLocalizedDescriptionKey : "No or multiple plist paths, or wrong keys format."])
        }


    func downloaderSettings() throws -> DownloaderSettings {
        if let keys = keys {
            return DownloaderSettings(appID: keys.appID, appKey: keys.appKey)
        } else if let plistPath = plistPath {
            return try DownloaderSettings.settingsFromConfigurationFile(plistPath: plistPath)
        }
