web-dev-qa-db-ja.com

他の開発者向けのフレームワークまたはライブラリを安全な方法で構築する方法は?

IOS開発者にとって非常に役立つフレームワークまたはライブラリのアイデアがあります。そのため、アプリ開発からフレームワーク/ライブラリ開発への切り替えを真剣に考えています。

しかし、ライブラリ/フレームワークの料金を請求する場合は、何らかの方法でコードを保護する必要があります。 Applesフレームワークのソースコードを表示できないのと同様に、フレームワークのユーザーがソースコードを表示できないようにフレームワークを構築するにはどうすればよいですか?ヘッダーファイルと、コンパイルされたフレームワークに付属する奇妙なUnix exeファイルのみを出荷します。

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

106
Proud Member

はい、フレームワークを構築して、フレームワークのユーザーがソースコードを表示できないようにすることができます。

これらの記事をご覧ください(過去にフレームワークを作成するために最初の記事を使用しましたが、後の記事は元の記事の更新です)

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にドラッグするだけです。バンドルにコピーしたヘッダーファイルは表示できますが(上記の記事を参照)、ソースは含まれていません(含まれていないため、コンパイルされた出力のみがバンドルに含まれています)。

これは、社内の複数のプロジェクトで使用されるコードを配布する優れた方法でもあります。


更新:

以下に追加されたフェザーレスリンクを確認してください-それははるかに最近のものであり、すべて1つのページにあります: http://github.com/jverkoey/iOS-Framework 。また、他のいくつかのアプローチに関する問題も示しています。これは、新しいフレームワークをセットアップするときに何をすべきかを思い出そうとするときに私が従うガイドです。 :)

Update2(Xcode 6リリース付き)

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

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

これが必要な理由A:これは、コード全体を表示せずにコードを共有したい開発者/チーム向けです(.m/.c /。 cppファイル)。これに加えて、コンパイルされたコード+リソース(画像、ビデオ、サウンド、XIB、plistなど)を1つの場所に整理したい人向けです。また、これは同じベース(フレームワーク)を超えて一緒に作業したいチーム向けです。

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

113
Jay Peyer

このガイドは、iOS静的フレームワークを作成するためのもう少し新しいものです。

https://github.com/jverkoey/iOS-Framework

51
featherless

XCode 4のテンプレート もあり、iOS静的フレームワークプロジェクトを作成できます。

9
Greg