我们应该在iOS上使用哪个libiconv?

Plu*_*tor 2 unicode iconv ios

当我在Xcode中执行"添加现有框架"时,我看到了三个版本的libiconv.

  1. libiconv.dylib
  2. libiconv.2.dylib
  3. libiconv.2.4.0.dylib

这个链接说最新最好的是1.13.1.我不认为它与上面的数字相同.

有线索吗?

Tom*_*mmy 8

从检查/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0.1/Symbols/usr/lib/文件夹开始,实际库中唯一的一个是libiconv.2.dylib.对于libiconv.2.dylib,libiconv.dylib和libiconv.2.4.0.dylib都是别名(即,如果您更喜欢用UNIX术语思考,则为符号链接).

所以在那一刻,它绝对没有你连接的几率.链接到一个给你最可接受的一般性.因此,如果您可以处理任何版本的API,请链接到libiconv.dylib,如果您需要与libiconv版本2一起使用的API,则链接到libiconv.2.dylib并且如果您依赖于2.4.0中的功能然后链接到libiconv.2.4.0.dylib.我认为,按照UNIX中的工作方式,Apple可能会根据兼容性的需要改变将来为dylib的多个版本提供或实际提供的别名.目前它都是学术性的.

从我可以从谷歌得到的,libiconv-1.12构建到libiconv.2.4.0.dylib.我无法确定版本编号背后的理由或想法的来源.

  • 文件版本控制与lib版本控制无关.它只是一种确保二进制兼容性的方法.我相信这是autotools的规则:http://sourceware.org/autobook/autobook/autobook_91.html. (2认同)