Ich habe mit diesem Problem für ein paar Tage jetzt gekämpft, aber immer noch keine Lösung gefunden. Im Grunde habe ich eine POST NSURLRequest mit Alamofire machen und Benutzer und Passwort als json in der Anfrage Körper senden, so dass ich eine Session-Token in der Antwort empfangen kann:NSURLRequest gibt das korrekte Ergebnis auf iPhone 5s und neuer, aber scheitert auf iPhone 4s und 5
let mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: path)!)
mutableURLRequest.HTTPMethod = "POST"
mutableURLRequest.setValue("application/json", forHTTPHeaderField:"Content-Type")
switch self {
case AuthenticateApp:
let parameters = [
"method": "login",
"params": [
"user": user,
"password": pass
]
]
mutableURLRequest.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(parameters, options: [])
case ...
Mein Problem ist, dass der Antrag auf iphone nur dann erfolgreich ist 5s und oben, während ich eine Fehlermeldung erhalten, wenn die gleiche Anforderung auf iphone 4s oder 5 ausgeführt wird:
{
"error" : "Login or password was invalid.",
"code" : 1
}
ich versucht habe, Druck und mehrere Sache Überprüfung aber keine Bilder zu diesem Punkt mich über die an die Quelle würde Problem. Ich habe die Lösung in NSHTTPURLResponse different on iPhone 5 vs 5s und hinzugefügt, um den Code unten auf die Anforderung gegeben versucht, aber es hat nicht geholfen:
mutableURLRequest.setValue("gzip", forHTTPHeaderField:"Content-Encoding")
ich die Antwort-Header-Felder für iphone gedruckt habe 5 und 5 s und keine Unterschiede gefunden. Es sieht so aus, als ob der Server den Benutzernamen und das Passwort nicht im richtigen Format erhält. Der Benutzername enthält das "@" Symbol. Könnte das für das Problem verantwortlich sein?
UPDATE:
Ein guter Samariter von der Apple-Entwickler-Forum wies mich in die richtige Richtung - die Anträge von einem 32-Bit-Geräte aus irgendeinem Grund vom Server zurückgewiesen werden. Ich habe keine Ahnung, wie man das an dieser Stelle beheben kann ...
Könnten Sie unterschiedliche Passwort und Benutzer haben. Möglicherweise bemerkt der Server, dass das Passwort/Benutzer bereits verwendet wird. – gnasher729
Der Benutzer/das Passwort ist jedes Mal gleich. Ich logge mich nicht als Benutzer ein, sondern autorisiere die App als Admin. –