Есть ли простой способ изменить схему NSURL
? Я понимаю, что NSURL
является неизменным. Моя цель - изменить схему URL-адреса на "https", если привязан к Security.framework
, и "http", если структура не связана. Я знаю, как определить, связана ли структура.
Этот код прекрасно работает, если у URL-адреса нет параметров (например, "param1 = foo & param2 = bar" ):
+(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 для этого метода.