Xcode
iOS

dylib がいなくなった、tbd ってなんだ?

More than 3 years have passed since last update.


tbd ?

昔のプロジェクトを iOS 9 SDK でビルドをしようとしたら libz.dylib が見つからないと怒られてしまいました。調べてみると、どうも dylib は基本的に直接参照することはなくなり、その代わりとして libz.tbd なるファイルを参照するようになったようです。

ss.png

これを開いてみると単なるテキストファイルだということがわかりました。tbd = Text Based Dynamic Library といったところでしょうか。

ss2.png

install-name: /usr/lib/libz.1.dylib という記述があるので、どうやら実体として dylib が SDK の外側に別にあり、tbd はそれらをロードするための設定を記述したテキストファイルのようです。SDK の容量を減らす目的で Mac 側のライブラリを参照する仕組みにしたということでしょうか?(詳しい資料が見つからないので憶測ですが。)


エラーが出る場合

おそらくこれはベータ版ゆえの現象だとは思いますが、tbd を参照してもライブラリが見つからないというエラーが出てしまうことがあるようです。フォーラムに対処療法の投稿がありましたので URL を記載しておきます。


https://forums.developer.apple.com/thread/4572