しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Xcode上で入れるライブラリの拡張子dylibからtbdになってたから詳しく調べてみた

Xcode上でライブラリのインストールを行ったのですが、拡張子がdylibではなくtbdになっていたので詳しく調べてみました。

f:id:llcc:20160102232823p:plain

tbdファイルとは

こちらの記事が非常に参考になりました。

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

元記事によるとtbdファイルはライブラリについての情報が入っているファイルのようです。
ライブラリの実態の場所はtbdファイルの中に記述されています。

検索をかけたところXcodeの中に.tbdファイルがあるようなので中身を見てみました。

vi /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/usr/lib/system/libcache.tbd
---
archs:           [ armv7, armv7s, arm64 ]
platform:        ios
install-name:    /usr/lib/system/libcache.dylib
current-version: 75.3
exports:
  - archs:           [ armv7, armv7s, arm64 ]
    allowed-clients: [ System ]
    symbols:         [ __cache_handle_memory_pressure_event, _cache_create,
                       _cache_destroy, _cache_get_and_retain, _cache_get_cost_hint,
                       _cache_get_count_hint, _cache_get_info, _cache_get_info_for_key,
                       _cache_get_info_for_keys, _cache_get_minimum_values_hint,
                       _cache_get_name, _cache_hash_byte_string, _cache_invoke,
                       _cache_key_hash_cb_cstring, _cache_key_hash_cb_integer,
                       _cache_key_is_equal_cb_cstring, _cache_key_is_equal_cb_integer,
                       _cache_print, _cache_print_stats, _cache_release_cb_free,
                       _cache_release_value, _cache_remove, _cache_remove_all,
                       _cache_remove_with_block, _cache_set_and_retain,
                       _cache_set_cost_hint, _cache_set_count_hint, _cache_set_minimum_values_hint,
                       _cache_set_name, _cache_simulate_memory_warning_event,
                       _cache_value_make_nonpurgeable_cb, _cache_value_make_purgeable_cb ]
...