3

Xcodeで「既存のフレームワークの追加」を実行すると、3つのバージョンのlibiconvが表示されます。

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

このリンクは、最新かつ最大のものが1.13.1であることを示しています。上記の数字と同じではないと思います。

手がかりはありますか?

4

1 に答える 1

8

フォルダを確認する/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0.1/Symbols/usr/lib/と、実際のライブラリであるのはlibiconv.2.dylibだけです。libiconv.dylibとlibiconv.2.4.0.dylibはどちらも、libiconv.2.dylibのエイリアス(つまり、UNIX用語で考える場合はシンボリックリンク)です。

そのため、現時点では、リンク先のオッズはまったく発生しません。あなたに最も受け入れられる一般性を与えるものへのリンク。したがって、APIの任意のバージョンを処理できる場合は、libiconv.dylibにリンクし、libiconvのバージョン2に対応するAPIが必要な場合は、libiconv.2.dylibにリンクし、特に2.4.0の機能に依存している場合は次に、libiconv.2.4.0.dylibにリンクします。UNIXでの動作の傾向に応じて、Appleは、互換性が必要な場合、将来的にdylibのエイリアスを変更したり、実際に複数のバージョンを提供したりする可能性があると思います。現時点では、すべてアカデミックです。

私がGoogleから理解できることから、libiconv-1.12はlibiconv.2.4.0.dylibにビルドされます。そのバージョン番号の背後にある理論的根拠やアイデアがどこから来たのかを判断することはできません。

于 2010-11-22T12:01:29.357 に答える