共同設計エラー:期限切れのプロファイルを削除した後、プロビジョニング プロファイルが見つからない
-
21-09-2019 - |
質問
昨日まで動いていたアプリを再構築してみました。プロファイルの有効期限が切れたというメッセージを受け取ったので、iPod と iTunes からプロファイルを削除しました。新しいプロファイル (識別子に * が付いているプロファイル) を選択すると、エラーが発生します。
コード署名エラー:プロビジョニング プロファイル (長い文字列) が見つかりません。
私には何が欠けているのでしょうか?関連する質問を確認しましたが、このシナリオはまだ見つかりませんでした。
解決
時々、Xcodeプロジェクトファイルは、古いプロジェクトを持っており、最初のXcodeの/ iPhoneのSDKの古いバージョンでそれを作成した場合は特に、めちゃめちゃます。何をする必要がある、テキストエディタでプロジェクトファイルを開き、あなたのエラーから「長い文字列」を検索し、手動でその行を消去しています。実際には、あなただけ先に行くと、任意のプロビジョニングプロファイルを指す任意の行を消去する必要があります。その後、Xcodeでプロジェクトを再度開く設定に移動し、新しいプロファイルを再選択。これは、時間のほとんどのような問題をクリア。プロビジョニングプロファイルを指す行は次のようになります。
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
他のヒント
ここでプロジェクトファイルを手動で編集する必要はありません。私のために働いたとシンプルなソリューションです。
Xcodeで、「グループとファイル」ペインで、「ターゲット」を展開し、アプリのターゲットをダブルクリックします。これは、ターゲットの情報ウィンドウが表示されます。 「ビルド」セクションでは、古いプロファイルの「コード署名」をチェックし、正しいものと交換します。
これは、プロジェクトのアイコンとそこからプロファイルを変更することをダブルクリックとは異なることに注意してください。かなり驚くべき:)
博多織
- プロジェクトとターゲットのプロパティ -> 「コード署名しない」 -> OK -> cmd+S(または cmd+B);
プロジェクトとターゲットのプロパティ -> 「プロビジョニング プロファイル」 -> OK
すべてが再び機能します!
私はあなたがこのような任意の行を削除する、手であなたの目標/プロジェクトを編集することによってこの問題を解決できることを、ブラッドの答えに同意します:
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
しかし、Xcodeの4.2以降では、このテキストにアクセスし、選択して削除する方がはるかに簡単な方法があります。左側のプロジェクトナビゲータでは、プロジェクト(プロジェクトナビゲータの一番上の行)を選択します。今、単に表示]> [バージョンエディタ]>ショーバージョンエディタ]を選択します。これは、テキストとして、プロジェクトが表示され、あなたは、プロビジョニングの検索とXcodeのエディタペインで右が、面倒な行を削除することができます。
は、ちょうどこの問題のバリエーションを見ましたXcodeは見つけることができなかったこと。
ただし、修正は同じであった:彼らは理論的には「良い」に見えたにも関わらず、project.pbxprojでPROVISIONING_PROFILEラインのすべてを削除した後、Xcodeでプロジェクトを再開
。Brad のソリューションを完全にターミナルで実現するには、次のコマンドを使用します。
cd [Xcode project parent]
vi [Xcode project name].xcodeproj/project.pbxproj
/[offending provisioning profile] [Enter]
dd
- 行全体を削除します- 見つからなくなるまで n を押してください
- Ctrl+X を押して保存して閉じます
私の場合は問題はウィンドウを開くことで解決した - >主催、私のデバイスを選択し、右側の「プロビジョニング」パネルの下に古いプロビジョニングプロファイルを削除します。古いものはすでに赤い「×」マークが付いていましたが、iPhoneはまだそれを使用していました。
そのプロファイルに加えて、また新しいものが(同じ名前で)まで見せていたし、単にアプリケーションをリニューアルした後、私はそれがスムーズに実行していた。
ただ、時間を費やしたかそこらこれを行うとブラッドの助言の助けといくつかの追加の変更でそれすべてが働いています。
私は、次を使用して、これをやった:10.7.3、Xcodeの4.3.2を、iOSの5.1ところで
。 1)あなたのmyapp.xcodeproj
を選択パッケージの内容を右クリックします。
2)テキストエディタで開いてproject.pbxproj
(それはフォーマットを台無しにするようテキストエディットをお勧めしません)
/* Begin XCBuildConfiguration section */
を見つけるまで、3)すべての方法下にスクロールします デバッグを持っていると
セクションをリリースすることを4)に関するお知らせ
5)リリースセクションではCODE_SIGN_IDENTITY
を見てみると次のようになります、それを"CODE_SIGN_IDENTITY[sdk=iphoneos*]"
ます:
CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";
6)彼らは次のようになりますPROVISIONING_PROFILE
と"PROVISIONING_PROFILE[sdk=iphoneos*]"
を見てみましょう。
PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
これは、Xcodeでプロビジョニングプロファイルと一致する必要があります。 >彼らはオープンのXcodeと一致する場合> [ウィンドウ]> [オーガナイザー]> [デバイス]> [プロビジョニングプロファイルを参照してください>右のプロフィール> Finderにをクリックすることは.mobileprovisionのファイル名は、プロフィールのIDです。
7)project.pbxproj
にスクロールダウンして放出部の第2のインスタンスを見つけます。リリースセクションの2番目のインスタンスは、コメントと言っ/* End XCBuildConfiguration section */
で終わる必要があります。
8)は、第2のセクションでは、そのCODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]
ので、最初のセクションに一致し、かつPROVISIONING_PROFILE
が全て記入されていることを確認します。
誰もまだそれを言わなかったので、私が作ってあげる1つの提案:あなたは、それは中身だ変更を開始する前に、全体.xcodeprojファイルのバックアップを作成してくださいPLEASE PLEASE。プロジェクトファイルを台無しにして何のバックアップを持っていないことは非常に非常に不愉快な経験につながるます。
編集のバックアウトすることができることは、天の恵みすることができます。
私はちょうど私のXCode4でこの問題が発生しました。それを修正するには、 あなたは両方のデバッグにすべて正しいの条項を入れて、設定を解除する必要があります。
私は(アーカイブで)私のアプリを提出しようとしていました。だから私はちょうど私のアプリのAppStoreの条項に、およびリリースの提供「ではないコードのサインを行います」ためにデバッグ規定を変更します。
このそれを修正し、正常にアーカイブするために私を可能にします。ホープことができます。
任意のiOS SDKの下に空白になっていcodesigningの行を選択し、右証明書を選択します。
ブラッド・スミス氏のソリューションは、私のために働いたが、私もそれを動作させるためにCODE_SIGN_IDENTITYフィールドを削除する必要がありました。
残念ながら、このアプローチは私にはうまくいきませんでした。しかし、これが私にとってうまくいった修正です(これを機能させるには、Subversion などで動作するプロジェクトファイルが必要です)。
プロジェクト ファイルの作業バージョンにロールバックしました。Xcode では元に戻すことができないため (Xcode 4のソース管理の「元に戻す」オプションはどこにありますか?) - 私は Tortoise、Windows マシン、およびこのチュートリアルを使用しました (http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html) 古いプロジェクト ファイルにロールバックします。
チュートリアルがうまくいかなかったため、Tortoise を使用してプロジェクト ファイルの作業リビジョンを USB スティックに保存し、Mac に移植しました。その後、新しい壊れたプロジェクト ファイルを古い正常に動作するプロジェクト ファイルに置き換え、クリーンアップしたところ、見事に動作しました。
TestFlight で使用するためにいくつかの新しいデバイスで AdHoc プロビジョニング プロファイルを更新したため、問題が発生しました。これは、xcode のプロジェクトまたはターゲットのコード署名ビルド設定にプロビジョニング プロファイルへの古い参照があるために発生していると考えられます。私が自分のものを修正した方法は次のとおりです。
- ターゲット ビルド設定とプロジェクト ビルド設定の両方に移動し、コード署名ですべてのプロビジョニング プロファイルを別のものに変更します。
- オーガナイザーのデバイス/プロビジョニング プロファイルに移動し、問題のあるプロファイルを削除し、右下の更新ボタンをクリックします。
- ターゲットとプロジェクトのビルド設定に戻り、プロビジョニング プロファイルを適切な (できれば) 新しく更新されたプロビジョニング プロファイルに設定します。
少なくとも Xcode 5 では、これが私の問題を解決してくれました。
プロビジョニング プロファイルで、問題のあるプロビジョニング プロファイルを選択し、プルダウン メニューで有効なプロビジョニング プロファイルを選択します。
あなたはプロビジョニングファイルの古い参照を削除することができます。次に、インポート新しいプロビジョニングプロファイルの後とXcodeビルダーを選択します。