Какой libiconv мы должны использовать на iOS? - PullRequest
2 голосов
/ 22 ноября 2010

Когда я делаю «Добавить существующие фреймворки» в Xcode, я вижу три версии libiconv.

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

Эта ссылка говорит о том, что последняя и самая лучшая версия - 1.13.1.Я не думаю, что это так же, как цифры выше.

Есть какие-нибудь подсказки?

1 Ответ

8 голосов
/ 22 ноября 2010

Из проверки папки /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0.1/Symbols/usr/lib/ единственной из тех, которые являются настоящей библиотекой, является libiconv.2.dylib. И libiconv.dylib, и libiconv.2.4.0.dylib являются псевдонимами (т. Е. Символическими ссылками, если вы предпочитаете думать в терминах UNIX) для libiconv.2.dylib.

Так что в данный момент, это не даст абсолютно никаких шансов, на которые вы ссылаетесь. Ссылка на ту, которая дает вам наиболее приемлемую общность. Так что, если вы можете обрабатывать любую версию API, обратитесь к libiconv.dylib, если вам нужен API, который идет вместе с версией 2 libiconv, тогда ссылка на libiconv.2.dylib и если вы полагаетесь на функциональность в 2.4.0 специально затем ссылка на libiconv.2.4.0.dylib. Я предполагаю, что в соответствии с тем, как все работает в UNIX, Apple может изменить псевдоним для чего-либо или предоставить несколько версий dylib в будущем, как того требует совместимость. На данный момент все академично.

Из того, что я могу разглядеть в Google, libiconv-1.12 собирается в libiconv.2.4.0.dylib. Я не могу определить обоснование нумерации версий или откуда пришла идея.

...