2017-05-03 4 views
0

私たちはエンタープライズアプリケーションを持っています。新しいユーザーは、コンソールでこれを取得する:新しいユーザーのためのアプリをダウンロードできません。既存のユーザーは再インストールできます

May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.T5yQJd/extracted/Payload/myapp.app : 0xe8008015 (A valid provisioning profile for this executable was not found.) May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 -[MIInstaller performInstallationWithError:]: Verification stage failed

が、すでに、まだアプリをインストールできるアプリがあるユーザーが(それを再インストール)。アプリを実行して別の画面に移動し、ブラウザに切り替えて再インストールすることで、再インストールを確認しました。再インストール(ホーム画面上の進行状況インジケータの監視)後、エントリーポイントでアプリを再開します。

私が疑うようにこれが証明書&と関連している場合、なぜ既存のユーザーはそれを再ダウンロードできますか?

答えて

0

.ipaに埋め込まれているプロビジョニングプロファイルが見つからないか、無効であるか、破損しているか、期限切れになっている可能性があります。エンタープライズ.ipaを解凍し、Payload/myapp.app/embedded.mobileprovisionファイルを開きます(バイナリですが、ほとんどのテキストエディタに表示されるプレーンテキストXMLのチャンクが含まれています)。アプリケーションIDがアプリバンドルIDと一致することを確認し、ExpirationDateを含む他のフィールドが有効であることを確認します。

既存の有効なプロビジョニングプロファイル上にアプリがインストールされる理由は、前の有効なプロビジョニングプロファイルが以前の.ipaから引き続き存在する可能性が高いからです。これは、アプリケーションの新しいバージョン(特にアプリケーションバンドルIDに基づく)をインストールして実行するのに十分です。これを確認するには、常にApple Configurator 2を使用して、インストールされているプロファイルを表示するデバイスを選択します。稼働中のデバイスでは、プロビジョニングプロファイルを削除して再度インストールを試みると、失敗する可能性があります。

+0

.ipaダウンロードから今年12月の2017年12月まで – quantumpotato

+0

アプリケーション識別子が正しく見え、プレフィックスと一致します(プレフィックスはcom.company.appのtbefore *のプレフィックスです) – quantumpotato

+0

見える場所は、署名と使用された証明書をチェックすることです - 最後のビルドまたはプロビジョニングプロファイルが生成されてからそれらが変更または取り消されている可能性がありますか?あなたが探しに行くための便利なコマンドには、プロファイルをきれいに解析するための "security cms -D -i embedded.mobileprovision"や(unzipped Payloadディレクトリ内の) "codesign -dvvv myapp.app"などがあり、コード署名を検証し、関係。 – TendrilSix

関連する問題