1

顧客から.ipaファイルを入手しました(ソースコードにアクセスできません)。このアプリは、アプリストアにはもう存在しません。私の顧客は今、私にこのアプリをもう一度書いてほしいと言っています。このアプリが何であるかを理解するために、デバイスに移動してOrganzer > Devices選択することにより、開発者デバイスに.ipaファイルをインストールしようとしていました。でAdd to portalファイルをデバイスに追加しました。

ただし、デバイスでアプリを起動すると、アプリは起動して開きますが、フルスクリーンサイズに達する前に消えます。メッセージは投稿されていません。

質問: これがアプリのバグであるか(バグログはありません)、それが不可能かどうかを把握しようとしていますか?そして、可能であれば、アプリをどのように機能させる必要がありますか?

編集:コンソールは言っています:

SpringBoard[15] <Warning>: Unable to obtain a task name port right for pid 2582: (os/kern) failure 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Exited: Killed: 9 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Throttling respawn: Will start in 2147483647 seconds 
Nov 25 13:25:16 unknown SpringBoard[15] <Warning>: Application 'hawk-i' exited abnormally with signal 9: Killed: 9 
Nov 25 13:25:17 unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42004

アップデート:

Answerに記載されているスクリプトを使用した後Denis、既存の署名を自分のものに置き換えることができました。残念ながら、アプリを起動できず、最後の行が異なるエラー番号で異なることを除いて、上記の正確なコンソールメッセージを受け取っていました。

unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42022

更新2:

Denisとても親切で、グーグルのiResignツールでも私のケースを解決しようとしましたが、残念ながら再び成功しませんでした。私の場合、アプリを実行するための解決策はないと信じ始めましたが、他の人にとっては、(Denisによって)受け入れられた答えが進むべき道かもしれません。

平和。

4

3 に答える 3

4

.ipa から .app を抽出し、次の bash シェル ファイルで再署名することができます。

#! /bin/bash 
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform\
/Developer/usr/bin/codesign_allocate

codesign -f -s "iPhone Developer: John Doe (XXXXXXXXXX)" $1.app

これには、開発者証明書をインストールし、プロビジョニング プロファイルをインストールする必要があります。これは、ワイルドカード ID で機能します。

使い方はこんな感じになります

$>myresign.sh <your-app-filename>

または、この優れたツールを .ipa ファイルに直接使用できます。iTunes Connectに送信されたビルドではなく、開発ビルドがある場合は、ケースで機能します。

于 2011-11-25T12:50:57.040 に答える
2

デバイスの UDID を顧客に提供していない場合は、デバイスでアプリを実際に起動する権限 (または適切なプロビジョニング ファイル) がありません。

顧客からソース コードを取得し、それをビルドしてデバイスにインストールする必要があります。顧客が元の開発者からのソース コードを持っておらず、あなたの顧客がそれを入手できない場合、あなたとあなたの両方が SOL です。

于 2011-11-25T12:43:42.260 に答える
1

デバイスに .ipa をインストールすることさえできるのは、少し驚くべきことです。これは、そのアプリケーションのプロビジョニング プロファイルにいることを意味します。

そのため、アプリを起動するとクラッシュするようです。にあるデバイスのログにヒントが見つかる場合がありますOrganizer -> Your Device -> Device Logs

アプリケーションがデバイスと互換性がなく、起動に失敗している可能性があります。アプリケーションを実行できるデバイスが見つかる場合もありますが、通常は、アプリケーションを実行するためのソース コードを用意することをお勧めします。

于 2011-11-25T12:24:40.043 に答える