4

私が開発したコンポーネントの .framework (または静的ライブラリ) を作成していて、それをサードパーティに販売したいと考えています。

フレームワークを不正な再利用、再配布、または再販売から保護するためのコードを追加することを計画していました。

これを実現する良い方法は、フレームワークを使用するアプリのバンドル ID を購入者に教えてもらい、NSString プロパティとしてフレームワークに保存し、実行時にチェックするメソッドを作成することです。フレームワークを使用しているアプリのバンドル ID が一致するかどうか。

ただし、フレームワークを無料で試用できるようにしたいとも考えています。したがって、バンドル ID チェックを有効にしたいのは、含まれているアプリがリリース モードでコンパイルされている場合、またはアプリが開発サンドボックスの外部のエンド ユーザー デバイスで実行されている場合のみです。

もちろん、プロジェクト ファイルに設定された変数やマクロに依存するメソッドは使用できません。私は実行時にそれを行う必要があります...そして購入者が必要とするアクションはありません。

アプリが開発者サンドボックスで実行されているかどうかを実行時に確認する方法はありますか? または、アプリがリリース ビルド プロファイルでビルドされている場合はどうなりますか?

ありがとう!

4

1 に答える 1

1

過去に、無料で評価できるがコンポーネントを無料で展開できない単純な時限爆弾の有効期限を実装しました。ライブラリは特定の日付 X まで機能し、その後機能しなくなります。ユーザーは、評価を続けるために最新のビットを再ダウンロードするだけで済みます。1回の支払い注文で、時限爆弾なしでダウンロードリンクが提供されるか、デジタル署名されたライセンスが時限爆弾ロジックをすべて無効にしたライセンスファイルが提供されます. 実行時の環境特性に依存することは、せいぜい壊れやすいものです。

于 2012-09-13T16:52:26.807 に答える