2016-10-27 2 views
0

Ich habe eine API mit AWS erstellt und das SDK für iOS generiert. Wenn ich versuche, die API aufzurufen, erhalte ich diesen Fehler.AWS API SDK bietet eine ungültige URL

Error occurred: Error 
Domain=NSURLErrorDomain Code=-1002 "unsupported URL" 
UserInfo={NSUnderlyingError=0x1546a36b0{Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}, NSErrorFailingURLStringKey=(null)https://(api-path),...} 

Die URL-ist hart codiert in dem SDK und muss nicht jede Art von (null) in der Zeichenkette. Ich habe keine Ahnung, woher das kommt.

+0

Könnten Sie bitte einige weitere Einzelheiten angeben? Welche iOS SDK Version verwendest du? War das generierte SDK für objC oder Swift? –

+0

Meine n-Monats-App: Heute bekommt sie die gleiche Nachricht. Dies könnte ein Problem für Amazon sein, das behoben werden kann. – Carl

Antwort

-1

Überprüfen Sie Ihr NSURL Objekt, um zu sehen, ob es Null ist, wenn Sie es von NSString initiieren.

Dann überprüfen Sie Ihre URL in NSString, um zu sehen, ob es weiße Leerzeichen enthält, die Ihre URL ungültig machen.

zu lösen, dass Sie dies zu Ihrer URL hinzufügen:

NSString *yourUrl; // Your url in NSString type. 
NSString *encoded = [substring stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; 
NSURL *url = [NSURL URLWithString:encoded]; 

Für diejenigen, die meine Antwort downvoted:

Wenn Sie Downvoted, weil es nicht in schnellen geschrieben wurde, ich habe gerade versuchte mein Bestes zu helfen.

Nur weil ich keine Erfahrung mit schneller Programmierung habe, heißt das nicht, dass ich aufhören muss, anderen zu helfen, ihre Probleme zu lösen.

0

Ersetzen Sie den folgenden Code in der AWS-generierte init(configuration: AWSServiceConfiguration) für mich gearbeitet:

Original:

if let endpoint = configuration.endpoint { 
    self.configuration.baseURL = endpoint.URL 
} 

ersetzen durch:

self.configuration.baseURL = URL(string: URLString) 

Ich verstehe nicht, warum sagt er das Der Endpunkt ist null, obwohl er unmittelbar zuvor erfolgreich erstellt wurde. Wie auch immer, es könnte Ihnen helfen, das Problem zu lösen.

Verwandte Themen