Изменить схему NSURL
Есть ли простой способ изменить схемуNSURL
? Я понимаю, чтоNSURL
неизменен. Моя цель - изменить схему URL на "HTTPS» еслиSecurity.framework
связан, и "HTTP» если рамки не связаны. Я знаю, как определить, связана ли структура.
Этот код прекрасно работает, если URL не имеет параметров (например, "? Param1 = Foo ¶m2 = бар»):
+(NSURL*)adjustURL:(NSURL*)inURL toSecureConnection:(BOOL)inUseSecure {
if ( inUseSecure ) {
return [[[NSURL alloc] initWithScheme:@"https" host:[inURL host] path:[inURL path]] autorelease];
}
else {
return [[[NSURL alloc] initWithScheme:@"http" host:[inURL host] path:[inURL path]] autorelease];
}
}
Но если URL имеет параметры,[inURL path]
бросает их.
Любые предложения, кроме разбора строки URL самостоятельно (что я могу сделать, но я хочу попробовать не делать)? Я делаю то, чтобы иметь возможность передавать URL-адреса с http или https для этого метода.