[解決済み] 他の開発者のためにフレームワークやライブラリを安全に構築する方法とは?[クローズド]
質問
私たちは、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など)を一つの場所に整理したい人のためのものです。そしてこれは、同じベース(フレームワーク)の上で一緒に仕事をしたいチームのためでもあります。
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み] フレームワークとライブラリの違いは何ですか?
-
[解決済み] UILongPressGestureRecognizerが押し下げ時に2回呼び出される
-
[解決済み] iOSシミュレータでファイルシステムを確認する方法はありますか?
-
[解決済み] iPhoneのシミュレータに.ipaファイルをインストールする方法は?
-
[解決済み] iosアプリの最大メモリ使用量
-
[解決済み] Xcode 4.2 - '...' の宣言は、この関数の外では表示されません 警告
-
[解決済み] レビュー待ちの状態でバイナリを拒否する(バイナリ拒否ボタンが見つからない)
-
[解決済み] リンカーフラグ -ObjC は何をするのですか?
-
[解決済み] モバイルアプリにおけるOAuthの秘密
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Mobile Safariで電話番号のリンクを無効にする方法を教えてください。
-
[解決済み] UILongPressGestureRecognizerが押し下げ時に2回呼び出される
-
[解決済み] CGFloatとfloatを使うことの違いは何ですか?
-
[解決済み] UITableViewHeaderFooterView。背景色を変更できない
-
[解決済み] 再署名 IPA (iPhone)
-
[解決済み] Objective-C用JSONパーサーの比較(JSON Framework、YAJL、TouchJSON、etc.)
-
[解決済み] iphoneシミュレーターでキーボードを使うにはどうしたらいいですか?
-
[解決済み] 円形のカスタムUIViewの描き方 - iPhoneアプリ
-
[解決済み] カメラロールに画像を保存する方法を教えてください。
-
[解決済み] iOS用のダイナミックライブラリをビルドして、実行時にロードすることは可能ですか?