2013-07-04 4 views
11

かなり簡単な質問 - .frameworkファイルがある場合、フレームワークの作成に使用されるSDKとデプロイメントターゲットのバージョンを特定するためのコマンド/ツールはありますか?フレームワークからOS X SDKとデプロイメントターゲットバージョンを確認する

同様に、これは.appファイル内に保存されたアプリケーションバイナリで実行できますか?元の.xcodeprojファイルを持たずに、サポートされているOSバージョンの高低を判断せずに、以前に構築されたアプリケーション/フレームワークのリストを検索するスクリプトを自動化しようとしています。

答えて

17

バイナリのSDKとデプロイメントターゲットを調べるには、LC_VERSION_MIN_MACOSX loadコマンドを調べる必要があります。 loadコマンドを表示するには、otool -l <some_binary>を使用してください。
例:grepへの配管と

$otool -l my_binary 
... 
Load command 9 
     cmd LC_VERSION_MIN_MACOSX 
    cmdsize 16 
    version 10.7 
     sdk 10.8 
... 

$otool -l /System/Library/Frameworks/CoreWLAN.framework/CoreWLAN 
... 
Load command 8 
     cmd LC_VERSION_MIN_MACOSX 
    cmdsize 16 
    version 10.8 
     sdk 10.8 
... 

例:。

otool -l my_binary | grep -A 3 LC_VERSION_MIN_MACOSX 
+0

*パーフェクト*私はotool' 'で遊んていたが、フラグがdauntingly多かったです。私のフレームワークは確かに 'version'と' sdk'の両方が10.8に設定されていましたので、(コンパイラのデフォルト)を10.7に変更するとより良いコピーが得られることが確認できました。 –

+0

iOSで同じことをするためのヒントプロジェクトで使用されている現在のFacebookおよびCrashlyticsフレームワークの展開ターゲットを決定しようとしていましたが、このコマンドではminバージョンのようなものは表示されません。 – Clafou

+0

@Clafou申し訳ありませんが、あなたを助けることができません – cody

関連する問題