私は、iOS クライアント SDK が静的ライブラリではなくコードとして開発者に配布されるクライアント/サーバー SDK プロジェクトに取り組んでいます (この配布方法にはビジネス上の理由があります)。一部の開発者がクライアント SDK コードを変更していると思われる状況に遭遇しました。クライアント SDK を更新して、これをより積極的に検出したいと考えています。
私が考えたのは、コンパイル時にコード ファイルのチェックサムを何らかの方法でチェックサムし、クライアント SDK がサーバーと対話するときにそのチェックサムを SDK バージョンとともに報告することでした。クライアント SDK をリリースする前に、弊社側で各バージョンのチェックサムを記録し、クライアント SDK チェックサムがそのバージョンに対して正しくない場合、サーバーに送信されたものはすべて拒否します。
ここでいくつか質問があります。
- コンパイル時にクライアント SDK の Objective-C コードを控えめにチェックサムするにはどうすればよいですか?
- 私の一般的な目標を達成するためのより良い方法はありますか?