0

Appleが開発者にiPhoneSDKでプライベートAPIを使用させたくない場合は、C#の「internal」キーワードに相当するObjective-Cでクラスやメソッドをマークするようなことをしてみませんか?APIが複数のバイナリに分散している場合、Appleはそれらを専用のプライベートAPIのみのバイナリにリファクタリングして、これを簡単にすることができます。

4

2 に答える 2

5

Objective-C には、C# の「internal」または Java の「final」キーワードに相当するものはありません。とにかく、そのような機能があまりにも簡単に回避されるのは、言語の動的な性質に関係していると思います。

また、iPhone SDK に関しては、すべてのライブラリをアプリケーションに静的にコンパイルする必要があり、動的リンクは許可されていません。したがって、関数を「内部」として設定しても、可能であっても可視性に違いはありません。

于 2010-04-19T01:08:13.470 に答える
0

簡単に言えば、彼らはそれらをまったく説明していないため、プライベートとしてマークしません。

送信してはいけないメッセージは、SDK の対応する .h ファイルには表示されません。

プライベート API は通常、ヘッダーを読み取ることによってではなく、バイナリ フレームワークに対して class-dump などのツールを使用する人々によって発見されます。

于 2010-04-19T03:19:26.487 に答える