【发布时间】:2013-01-18 05:37:08
【问题描述】:
有没有一种简单的方法可以更改NSURL 的方案?我确实意识到NSURL 是不可变的。我的目标是如果链接了Security.framework,则将 URL 的方案更改为“https”,如果未链接框架,则将其更改为“http”。我确实知道如何检测框架是否已链接。
如果 URL 没有参数(例如“?param1=foo¶m2=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 字符串之外还有什么建议(我可以这样做,但我想尝试不这样做)?我做了什么能够将带有 http 或 https 的 URL 传递给此方法。
【问题讨论】:
标签: ios