これがv0.20でどのように行われるかを理解するのに少し時間を費やしました。私の知る限り、AFNetworkingのソースコードを使用せずにベースURLを直接変更することはできません。新しいものを作成して設定することはできHTTPClient
ますが、これによりさらに多くの問題が発生することがわかりました。おそらく、RestKitがHTTPClient
セットアップ時にAFNetworkingで追加の構成を行ってRKObjectManager
おり、クライアントを直接設定することで、それを見逃しているためです。
私はこの解決策を思いつきました。それはRKObjectManager
、新しいbaseURLを使用して別のソリューションを作成し、記述子を再度追加することです。また、シリアル化とヘッダータイプを再設定する必要があります。
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];
関連ドキュメント:RestKitでの複数のベースURLの使用