5

ご挨拶、

私は、カスタムiOSアプリを作成できるWebサーバースクリプトを作成中です(基本的にロゴやその他のいくつかのものを交換します)。Webサーバーは、以前にアップロードされた「シェル」.ipaをカスタマイズし、コンテナー全体を再圧縮してユーザーのブラウザーに送信します。つまり、以前にアップロードした.ipaをWebサーバーにカスタマイズし、ユーザーがそれをダウンロードしてAppStoreに送信できるようにします。

次のステップは、.ipa全体を再設計することです-.IPAの内容を変更し、ユーザーは自分の署名IDを使用する必要があるため-実際にAppStoreにアップロードできるようにします。

私の理解では、バンドル内の各リソースファイルのある種のハッシュを含む「CodeResources」ファイルがあり、実行可能ファイルにはある種の埋め込み署名も含まれています。これらを生成するには、ユーザーのコンピューターで「codesign」ユーティリティを使用してから、ApplicationLoaderを使用してAppStoreに送信する必要があります。これまでのところ正しいですか?

私が見つけようとしているのは:

  1. サーバー上の.ipaを(ユーザーに事前に証明書をアップロードしてもらうことで)コード署名して、余分な作業を行わないようにする方法はありますか?
  2. 1)が不可能な場合、面倒なことなく.ipaを再設計できるツールはありますか?Xcodeは、可能であれば、ほんの少しのコード署名を行うために、プロジェクトのセットアップ作業を必要とするようです。
  3. ユーザーのために.ipaファイルをコード署名する別の方法はありますか?おそらく手動で行う必要はありませんか?

前もって感謝します!

4

2 に答える 2

4

Xcodeは、codesignコマンドラインユーティリティを使用してCodeResourcesフォルダーとデジタル署名を作成します。Xcodeの外部でアプリバンドルに署名するために、Xcodeを自分で呼び出すことができます。サーバーがMacOSXを実行している場合は、サーバー上でこれを自動化できる可能性があります。あなたが本当に賢いなら、あなたは自分で署名を作成する方法を理解することができるかもしれませんopenssl(署名証明書などはすべて標準的なものです)。または、開発ツールがインストールされているユーザーを信頼できる場合は、ユーザーの署名を自動化するアプリをユーザーに提供します。

これは、プロセスの一部を説明するブログエントリです(ユースケースは少し異なりますが)。

于 2011-07-06T17:13:22.567 に答える
3

私は自分の質問に答えるのは好きではありませんが、久しぶりにこれを閉じたいと思います。

最終的に、Xcodeのターゲットとスキームを使用して、さまざまなアプリの生成を容易にしました。かなりの数のアプリのバリエーションがあるので、今のところこれで問題ないようです。

コード署名はめちゃくちゃで、Appleはその背後にある技術プロセスを絶えず変更しているので、それは動く標的であり、多くのハッキングと試行錯誤の作業を必要とします。

于 2012-05-03T06:46:34.653 に答える