5

CYDIAのないジェイルブレイクされたデバイス用のitms-servicesプロトコルを介して署名されていない.ipaを配布しようとしています。http://www.alexwhittemore.com/developing-jailbroken-iphone-ios-401/から、cydia用の署名されていないアプリを作成する方法についてのガイドを確認しましたが、主催者。エラー:コデザインチェックが失敗します...しかし、ここでは問題ではないかもしれません。

アプリの.appフォルダーを取得し、署名なしで.ipa拡張子に圧縮しますが、アプリをサーバーにアップロードし、itms-servicesプロトコルを介してダウンロードしようとすると、デバイスのプログレスバーはほぼ終わり、ダウンロードに失敗します...。

誰かがそれを経験したことがありますか?

4

2 に答える 2

3

古くからのスレッドを目覚めさせて申し訳ありませんが、将来誰かがこの質問をする場合に備えて:

itms-servicesプロトコルは、2つのサーバーoscp.apple.com、および別のサーバー(AppleのWebサイトで詳細を確認できます)に要求を送信します。サーバーは、Appleが署名証明書の公開鍵を生成したかどうか、およびそれらが取り消されたかどうかを確認します。

通常、これを回避する方法はありませんが、iPhoneがチェックするのは「悪い」応答です。1つを検出すると、アプリを拒否します。ただし、応答がまったくない場合でも、アプリは拒否されません。

したがって、ここで実行したいのは、おそらくカスタムDNSサーバーを作成することです。これにより、2台のAppleサーバーが他の2台のサーバーとして一覧表示されます。次に、iPhoneのデフォルトのDNSサーバーをサーバーに変更するモバイル構成ファイルを作成します。その後、アプリケーションは正しくインストールされます。

于 2012-09-16T01:08:48.183 に答える
1

あなたとまったく同じ質問があります。Cydia を経由せずに、ジェイルブレイクされた iPhone 用の iOS アプリを配布する方法を探しています。

itms-services は、有効なプロビジョニング プロファイルを提供した場合に機能します。プロビジョニング プロファイルがない場合、機能しません。

ただし、アレクセイへの注意事項が1つあります。脱獄であっても、署名されていないアプリはiPhoneでは機能しません。少なくとも自己署名アプリが必要です。脱獄により、Apple が承認した開発者の署名が不要になりますが、署名の必要性がまったくなくなるわけではありません。ジェイルブレイクされたデバイスで「ldid -S」を使用してコードに自己署名できます。http://dl.dropbox.com/u/3157793/ldidには、Mac OS X 用の ldid バージョンもあります。

このスレッドの進捗状況を更新し続けてください - 私も同じことをします。

[編集]

自己署名証明書を生成し、Xcode から使用することができます。その後、コマンドを使用してアプリケーションをインストールできますscp -r

次に、IPA ファイルを手動で作成し、itms-services URL を使用して Web サーバー経由で提供しました。「現時点では「アプリ」をインストールできませんでした」というメッセージが表示されてインストールに失敗する

コンソールを見ると、次のように表示されます。

Mar 14 17:31:32 unknown installd[4276] <Error>: developer cert trust result = 5 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 verify_signer_identity: Could not copy validate signature: -402620392 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.AnmaAp/foo_extracted/Payload/App.app Mar 14 17:31:32 unknown com.apple.itunesstored[4272] <Notice>: MobileInstallationInstall: failed with -1 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 install_application: Could not prefligh

理由は、/usr/libexec/installdプログラムがアプリケーションのインストール時に有効な署名をチェックしているためです。これは、http: //hackulo.us/wiki/AppSynchttp://jamesisbored.com/iphone/bootlegなどのツールを使用してパッチを適用して無効にすることができますが、次の 2 つの理由からその方法を使用しません。

  • まず、iPhone へのあらゆるインストールへの扉が開かれます。
  • 第二に、iOS を更新するたびにユーザーが再度それを行う必要があるためです (また、将来のバージョンでパッチが利用できるかどうかは保証されません)。

したがって、これには 2 つの選択肢があります。A/ このアイデアを放棄する B/ 独自の MISValidateSignatureAndCopyInfo バイパス コードを開発し、アプリのインストールに必要な時間だけ一時的に使用する。

于 2012-03-14T08:45:59.610 に答える