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