1. ホーム
  2. iphone

[解決済み] 他の開発者のためにフレームワークやライブラリを安全に構築する方法とは?[クローズド]

2022-11-04 10:39:58

質問

私たちは、iOS開発者にとって非常に有用なフレームワークやライブラリのアイデアを持っています。そこで、アプリ開発からフレームワーク/ライブラリ開発への切り替えを真剣に検討しています。

しかし、ライブラリ/フレームワークに課金する場合、何らかの方法でコードを保護しなければなりません。Apple のフレームワークのソース コードを見ることができないのと同様に、私たちのフレームワークのユーザーがソース コードを見ることができないような方法でフレームワークを構築するにはどうしたらよいでしょうか。彼らは、ヘッダーファイルと、コンパイルされたフレームワークと一緒に奇妙なUnixのexeファイルを出荷するだけだと思います。

または、他の iOS 開発者が私たちのソースコードをコピー&ペーストすることなく使用できるコンパイルされたフレームワーク/ライブラリを作成することが不可能な場合、objective-c コードを難読化する方法はあるでしょうか?

どのように解決するのですか?

はい、フレームワークのユーザがソースコードを見ることができないようにフレームワークを構築することは可能です。

これらの記事をチェックしてください (私は過去にフレームワークを作成するために最初の記事をうまく使いました。後の記事は元の記事の更新です)。

http://www.drobnik.com/touch/2010/04/making-your-own-iphone-frameworks/

http://www.drobnik.com/touch/2010/05/making-your-own-iphone-frameworks-in-xcode/

http://www.drobnik.com/touch/2010/10/embedding-binary-resources/

フレームワークを使用するために、ユーザーは .framework バンドルを Xcode にドラッグするだけです。彼らは、あなたがバンドルにコピーしたヘッダーファイル (上記の記事を参照) を見ることができますが、ソースは含まれないため (コンパイルされた出力のみがバンドルに含まれるため)、見ることはできません。

これは、社内の複数のプロジェクトで使用されるコードを配布するための素晴らしい方法にもなり得ます。


更新します。

以下に追加された羽のないリンクを見てください -- それはより新しく、ひとつのページにまとまっています。 http://github.com/jverkoey/iOS-Framework . また、他のいくつかのアプローチにおける問題点も説明されています。これは、新しいフレームワークをセットアップするときに何をすべきかを思い出そうとするときに、私が従うガイドです。)

アップデート2 (Xcode 6 リリースに伴う)

まさにあなたが探しているオプションがあります。 Universal Framework for iOS !

私のコードは他の人から見えるのでしょうか? A: いいえ。このフレームワークは、コンパイルされたバイナリをエクスポートするので、誰でもその中を見ることができます。XIBのような他のファイルについても、同じようにすることができます。

なぜこれが必要なのですか。 A: これは、コード全体 (.m/.c/.cpp ファイル) を見せることなくコードを共有したい開発者/チームのためのものです。さらに、コンパイルされたコードとリソース(画像、ビデオ、サウンド、XIB、plistなど)を一つの場所に整理したい人のためのものです。そしてこれは、同じベース(フレームワーク)の上で一緒に仕事をしたいチームのためでもあります。

(c) http://blog.db-in.com/universal-framework-for-ios/