13

現在約 3 年前の iOS アプリがあります。エンタープライズ プロファイルで署名されています。ソフトウェアの 7 つのバージョンをリリースしましたが、最後にリリースしたのはほぼ 1 年前です。現在、新しいリリースを試みていますが、iOS8 の新しいセキュリティ ルールにより、iOS 8.1.3 以降のデバイスはアップグレードできず、削除して再インストールする必要があることがわかりました。

調査中に、別のプロファイルでアプリに署名している人々に同様の問題が見つかりましたが、私たちのアプリは同じプロファイルで署名されています. このエラーは、古いアプリケーション識別子にワイルドカードが含まれていることを示していますが、バンドル ID を変更したことがないためわかりません (ただし、開発者ポータルでは、すべてのアプリの一般的な appId は com.company.* です)。

アプリのバージョン 1 とバージョン 2 の両方を Xcode 6.4 でビルドすると正常にアップグレードでき、両方のバージョンのアプリを Xcode 5.1 でビルドすると正常にアップグレードできることがわかりました。 Xcode 5.1 でビルドされたバージョンの上に Xcode 6.4 でビルドされたアプリ

アップグレードを試みたときに表示されるエラーは次のとおりです。

「アップグレードのアプリケーション識別子資格文字列 (6Q39SSX4QT.com.company.appName) が、インストールされたアプリケーションのアプリケーション識別子文字列 (6Q39SSX4QT.com.company.*) と一致しません」

アプリに entitlements.plist ファイルを含める必要があるという言及をいくつか見てきました。AppName.entitlements plist ファイルはありますが、どのアプリにも entitlements.plist ファイルがありません (また、他のアプリではこの問題は発生しませんが、 Xcode 5.1 がリリースされてから何度もアップグレードされています)。

誰にもアイデアはありますか?

ありがとう!

4

3 に答える 3

18
  1. Xcodeを開く - >ウィンドウ - >デバイス
  2. デバイスをクリックして、インストールしようとしているアプリをインストール済みアプリのリストから削除します。
  3. さっそく走ってみてください。
于 2016-01-08T10:02:46.750 に答える
2

このエラーが発生しました。アプリの署名に使用する開発チームを変更したためです。つまり、会社の配布プロファイルを使用して開発バージョンに署名し、クライアントの配布プロファイルを使用してリリース バージョンに署名しました。

エンタイトルメントのチーム ID が正しいチーム ID (エラー メッセージに出力されている) であることを確認します -> インストールされているアプリが間違っています。また、資格ファイルでアプリケーション識別子を指定していないことも確認してください。資格ファイルがまったくありませんでした。

この場合、デバイス上のアプリを削除して、新しく再インストールしてください。

クリス

于 2016-02-12T12:47:15.433 に答える