Изменить схему NSURL

Есть ли простой способ изменить схемуNSURL? Я понимаю, чтоNSURL неизменен. Моя цель - изменить схему URL на "HTTPS» еслиSecurity.framework связан, и "HTTP» если рамки не связаны. Я знаю, как определить, связана ли структура.

Этот код прекрасно работает, если URL не имеет параметров (например, "? Param1 = Foo &param2 = бар»):

+(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 для этого метода.

Ответы на вопрос(5)

Ваш ответ на вопрос