IFUnicodeURL 是一个针对 NSURL 的类别,允许它在 URL 中支持国际化域名。
使用很简单。在您通常使用 NSURL 的 URLWithString:
(或 initWithString:
)方法的地方,只需使用类别中添加的 Unicode 版本即可。还有一个方法可以检索具有 Unicode 主机的 URL 字符串
NSURL *url = [NSURL URLWithUnicodeString:@"http://➡.ws/鞰齒"];
NSLog( @"The URL: %@", [url absoluteString] );
NSLog( @"The Unicode URL: %@", [url unicodeAbsoluteString] );
这使用了来自 Verisign, Inc. 的 IDN SDK 中的代码。IDN SDK 源代码包的整个内容包含在 IDNSDK-1.1.0/ 中。我已经提取并稍作修改(以避免编译器和分析程序警告)所需的文件和头文件,以便在 Xcode 中构建起来就像添加 IFUnicodeURL 文件夹到您的项目一样容易。
注意 IDNSDK 许可证,可以在 IDNSDK-1.1.0/doc 中找到。(许可证基本上类似于 BSD 许可证。)IFUnicodeURL 类别采用简化的 BSD 许可证许可(见 IFUnicodeURL-LICENSE.txt)
Sean Heber(《twitter.com/BigZaphod》的 BigZaphod)http://www.iconfactory.com