昨日動作していたアプリを再構築しようとしました。プロファイルの有効期限が切れたというメッセージが表示されたので、iPodとiTunesからプロファイルを削除しました。新しいプロファイル(識別子に*が含まれているプロファイル)を選択すると、エラーが発生します。
コードサインエラー:プロビジョニングプロファイル(長い文字列)が見つかりません。
私は何が欠けていますか?関連する質問を調べましたが、このシナリオはまだわかりませんでした。
昨日動作していたアプリを再構築しようとしました。プロファイルの有効期限が切れたというメッセージが表示されたので、iPodとiTunesからプロファイルを削除しました。新しいプロファイル(識別子に*が含まれているプロファイル)を選択すると、エラーが発生します。
コードサインエラー:プロビジョニングプロファイル(長い文字列)が見つかりません。
私は何が欠けていますか?関連する質問を調べましたが、このシナリオはまだわかりませんでした。
Xcodeプロジェクトファイルが混乱することがあります。特に、古いプロジェクトがあり、最初に古いバージョンのXcode /iPhoneSDKで作成した場合はそうです。
あなたがする必要があるのは、テキストエディタでプロジェクトファイルを開き、エラーから「長い文字列」を検索し、その行を手動で消去することです。
実際、先に進んで、プロビジョニングプロファイルを指す行をすべて消去する必要があります。次に、Xcodeでプロジェクトを再度開き、設定に移動して、新しいプロファイルを再度選択します。これにより、ほとんどの場合、そのような問題が解決されます。
プロビジョニングプロファイルを指す行は次のようになります。
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
これが私のために働いた、プロジェクトファイルの手動編集を必要としないより簡単な解決策です:
Xcodeの[グループとファイル]ペインで、[ターゲット]を展開し、アプリのターゲットをダブルクリックします。これにより、ターゲットの情報ペインが表示されます。[ビルド]セクションで、[コード署名]セクションで古いプロファイルを確認し、正しいプロファイルに置き換えます。
これは、プロジェクトアイコンをダブルクリックして、そこからプロファイルを変更することとは異なることに注意してください。かなり素晴らしい:)
オリ
プロジェクトとターゲットのプロパティ->「プロビジョニングプロファイル」->OK
すべてが再び機能します!
ターゲット/プロジェクトを手動で編集し、次のような行を削除することでこの問題を修正できるというBradの回答に同意します。
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
ただし、Xcode 4.2以降では、このテキストにアクセスして選択および削除するはるかに簡単な方法があります。左側のプロジェクトナビゲータで、プロジェクト(プロジェクトナビゲータの最上行)を選択します。次に、[表示]>[バージョンエディター]>[バージョンエディターの表示]を選択します。これにより、プロジェクトがテキストとして表示され、XcodeのエディターペインでPROVISIONINGを検索して、問題のある行を削除できます。
この問題のバリエーションを見たばかりです。上記のBradSmithのメモに従って、project.pbxprojファイルにアクセスしました。ただし、この場合、すべてのPROVISIONING_PROFILE行が正しいように見え、Xcodeが実行できなかった「不良」プロファイル文字列は発生しませんでした。見つかりません。
ただし、修正は同じでした。理論的には「良好」に見えたとしても、project.pbxprojのすべてのPROVISIONING_PROFILE行を削除してから、Xcodeでプロジェクトを再度開きます。
ターミナルでブラッドのソリューションを完全に実現するには、次のコマンドを使用します
cd [Xcode project parent]
vi [Xcode project name].xcodeproj/project.pbxproj
/[offending provisioning profile] [Enter]
dd
-行全体を削除します私の場合、問題はウィンドウ->オーガナイザーを開き、デバイスを選択し、右側の「プロビジョニング」パネルの下にある古いプロビジョニングプロファイルを削除することで解決しました。古いものはすでに赤い「x」記号でマークされていましたが、iPhoneはまだそれを使用していました。
そのプロファイルに加えて、新しいプロファイルも(同じ名前で)表示され、アプリケーションを再起動するだけでスムーズに実行されました。
これを行うのに1時間ほど費やし、Bradのアドバイスといくつかの追加の変更の助けを借りて、すべてが機能しました。
私はこれを次のものを使用して行いました:10.7.3、Xcode 4.3.2、iOS5.1btw。
1)を右クリックしてmyapp.xcodeproj
、パッケージの内容を選択します
2)project.pbxproj
テキストエディタで開きます(フォーマットが台無しになる可能性があるため、テキストエディットはお勧めしません)
3)見つかるまで下にスクロールします/* Begin XCBuildConfiguration section */
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ファイル全体のバックアップを作成してください。プロジェクトファイルを台無しにしてバックアップがないと、非常に不快な経験になります。
編集を取り消すことができることは、天の恵みになる可能性があります。
Xcode 4でこの問題が発生しました。これを修正するには、デバッグ構成とリリース構成の両方に正しいプロビジョニングをすべて入れる必要があります。
アプリを(アーカイブして)送信しようとしていました。そのため、デバッグプロビジョニングを「コード署名しない」に変更し、リリースプロビジョニングをアプリのアプリストアプロビジョニングに変更します。
これで修正され、正常にアーカイブできるようになります。お役に立てば幸いです。
Any iOS SDKで空白になっているコード署名の行を選択し、適切な証明書を選択します。
Brad Smithのソリューションは私のために機能しましたが、それを機能させるには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には、プロジェクトまたはターゲットのコード署名ビルド設定のいずれかにプロビジョニングプロファイルへの古い参照があるため、これが発生していると考えられます。私が私のものを修正した方法は次のとおりでした:
少なくともXcode5では、これが私にとっての問題を解決したものです。
[プロビジョニングプロファイル]で、問題のあるプロビジョニングプロファイルを選択し、プルダウンメニューで有効なプロビジョニングプロファイルを選択します。
プロビジョニングファイルの古い参照を削除できます。次に、新しいプロビジョニングプロファイルをインポートし、Xcodeビルダーを選択した後。