2011-10-27 16 views
0

私はアプリケーションのコードを持っていますが、その中には ".m"ファイルはありませんが、アプリは正常に動作し、デバイス上で動作します。出来ますか?私はこの事実を理解していない、あなたは私にこの事を説明できますか?奇妙な構造のiOSアプリ

+1

詳細を教えてください。アプリケーションフォルダ内には何がありますか? – Phlibbo

+0

プロジェクトのターゲットのコンパイルソース構築フェーズには、どのファイルがリストされていますか?アプリケーションをビルドすると、ビルドログには何が表示されますか? –

答えて

1

.a接尾辞が1つのファイルを呼び出す場合は、既にコンパイルされたライブラリであり、元のソースコードが元の作成者のマシンにあることを意味します。

あなたは、その.aライブラリのソースコードをうまく聞くことができますが、オープンソースでない限り、提供するつもりはないでしょう。

"nm"ツールを使用してエクスポートされたシンボルを取得することは1つのトリックですが、ライブラリで使用するはずのAPIは、おそらく表示され、.hファイルに記録されます。

0

@interfaceと@implementationコードを1つの.hファイルに置くことができます。それでも動作しますが、それを行うと、.mファイルは必要ありません。

.hと.mの間の区切りは、xcodeによってデフォルトになっていますが、表示されているとおりに固執する必要はありません。

+0

大丈夫だが、.hにはメソッドの命令がないので、メインバンドルの中にはファイルexecがあると言わなければならないが、命令はない。例えば、ボタンを使ってビューを閉じることができますが、コード – CrazyDev

+0

はありません。それらはユーティリティクラスであったかもしれません。 ユーティリティクラスは、一般的な、しばしば再利用される関数を実行する一連のメソッドを定義するクラスです。ほとんどのユーティリティクラスは、これらの一般的なメソッドを静的スコープで定義します。 –

+0

このファイルはファイルexecであり、名前はcustomlib.aです。どうすれば開くことができますか? – CrazyDev