Ich habe gerade eine Weile damit verbracht, herauszufinden, wie das in v0.20 gemacht werden kann. Soweit ich das beurteilen kann, kann man die Basis-URL nicht direkt ändern, ohne in den AFNetworking-Quellcode einzugreifen. Sie puede eine neue HTTPClient
und setzen, aber ich fand heraus, dass dies noch mehr Probleme verursachte, vermutlich weil RestKit eine zusätzliche Konfiguration auf AFNetworking's HTTPClient
wenn Sie die RKObjectManager
und wenn Sie den Kunden direkt einstellen, entgeht Ihnen das.
Ich habe diese Lösung gefunden, die darin besteht, eine weitere RKObjectManager
mit der neuen baseURL und fügen Sie die Deskriptoren erneut hinzu. Außerdem müssen Sie Ihre Serialisierungs- und Header-Typen erneut festlegen.
NSString *urlString = @"http://www.something.com/api";
RKObjectManager *newManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:urlString]];
[newManager setRequestSerializationMIMEType:RKMIMETypeJSON];
[newManager setAcceptHeaderWithMIMEType:RKMIMETypeJSON];
[newManager addResponseDescriptorsFromArray:[RKObjectManager sharedManager].responseDescriptors];
[newManager addRequestDescriptorsFromArray:[RKObjectManager sharedManager].requestDescriptors];
[RKObjectManager setSharedManager:newManager];
Zugehörige Dokumentation: Verwendung mehrerer Basis-URLs in RestKit