Ich wurde müde, die gesamte App manuell zu ersetzen, indem ich Header zu mehr als 100 meiner Anfragen hinzufüge. Ich entschied ich für einen faulen Ansatz:
ein AlamofireManagerExtension.swift Stellen und den folgenden Code verwenden:
import Foundation
import Alamofire
extension Manager {
public func myRequest(
method: Alamofire.Method,
_ URLString: URLStringConvertible,
parameters: [String: AnyObject]? = nil,
encoding: ParameterEncoding = .URL,
headers: [String: String]? = ["MY-STATIC-API-KEY" : "BLAHBLAHBLAH"])
-> Request
{
return Manager.sharedInstance.request(
method,
URLString,
parameters: parameters,
encoding: encoding,
headers: headers
)
}
}
Dann Strg-Shift-f auf Ihrem Xcode-Projekt, suchen Sie nach sharedInstance.request oder was auch immer Sie tun, um Anfragen zu machen (all mein Code folgt diesem Muster) und ersetze es durch sharedInstance.myRequest (Achten Sie darauf, die Erweiterung sharedInstance.request nicht zu ändern) und voila:
Globaler geänderter benutzerdefinierter Header für alle Anfragen!
Wenn Sie benutzerdefinierte Schlüssel hinzufügen möchten, können Sie natürlich Methoden mit der Methode replace wie sharedInstance.request (Methode: ...) an sharedInstance.myRequest (customKeys: ..., Methode: ..) voranstellen. .) wenn Sie benutzerdefinierte Variablen benötigen.
es Header für nur eine Anforderung stellt, aber Mirza Delic gefragt, wie –
benutzerdefinierte Header auf die alle Anforderung setzen @ Glenn Header-Informationen in das Header-Array oder Dictionary –