One way to write this would be to assign the passed in parameter to a new variable. This would also get rid of the implicitly unwrapped saveName, use constants (let), and make the code more concise.
internal static func download(fileURL: String, savePath: String?, saveName: String?, onDownloadComplete:((_ url: String, _ filePath: String) -> Void)?){
let name = saveName ?? getFileName(url: fileURL)
let path = savePath ?? AppDelegate.downloadPath + "/" + name
The reason for your error message is that the parameters that are passed into a function are always constants (unless they are passed inout, but that has different semantics entirely).