回答:
特に古いプロジェクトがあり、それを古いバージョンのxcode / iphone sdkで最初に作成した場合は特に、xcodeプロジェクトファイルがめちゃくちゃになることがあります。あなたがする必要があるのは、テキストエディターでプロジェクトファイルを開き、エラーから「長い文字列」を検索し、その行を手動で消去することです。実際、先に進んで、プロビジョニングプロファイルを指す行をすべて削除する必要があります。次に、xcodeでプロジェクトを再度開き、設定に移動して、新しいプロファイルを再度選択します。これにより、ほとんどの場合、そのような問題が解決されます。プロビジョニングプロファイルを指す行は次のようになります。
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
以下は、私にとって有効で、プロジェクトファイルを手動で編集する必要のない、より簡単なソリューションです。
XCodeの[グループとファイル]ペインで[ターゲット]を展開し、アプリのターゲットをダブルクリックします。これにより、ターゲットの情報ペインが表示されます。[ビルド]セクションで、[コード署名]セクションで古いプロファイルを確認し、正しいプロファイルに置き換えます。
これは、プロジェクトアイコンをダブルクリックしてそこからプロファイルを変更することとは異なることに注意してください。かなり素晴らしい:)
オリ
プロジェクトとターゲットのプロパティ->「Your Provision Profile」-> OK
すべてが再び機能します!
私はブラッドの答えに同意します。この問題は、ターゲット/プロジェクトを手動で編集し、次のような行を削除することで修正できるということです。
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
ただし、Xcode 4.2以降では、このテキストにアクセスして選択および削除する方法がはるかに簡単です。左側のプロジェクトナビゲーターで、プロジェクト(プロジェクトナビゲーターの一番上の行)を選択します。次に、[表示]> [バージョンエディタ]> [バージョンエディタを表示]を選択します。これによりプロジェクトがテキストとして表示され、XcodeのエディターペインでPROVISIONINGを検索して問題のある行を削除できます。
完全にターミナルでブラッドのソリューションを実現するには、次のコマンドを使用します
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、iOS 5.1 btwを使用してこれを行いました。
1)を右クリックしてmyapp.xcodeproj
パッケージの内容を選択します
2)project.pbxproj
テキストエディターで開きます(書式設定が台無しになる可能性があるため、texteditはお勧めしません)
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
全てに充填されています。
残念ながら、このアプローチは私にはうまくいきませんでした。しかし、これは私のために働いた修正です(これを機能させるには、Subversionなどで動作するプロジェクトファイルが必要です):
プロジェクトファイルの作業バージョンにロールバックしました。Xcodeで元に戻すことはできないため(Xcode 4のソース管理の「元に戻す」オプションはどこにありますか?)-私はTortoise、私のWindowsマシン、およびこのチュートリアル(http://tortoisesvn.net/docs/nightly/TortoiseSVN_en)を使用しました/tsvn-howto-rollback.html)を使用して、古いプロジェクトファイルにロールバックします。
チュートリアルがうまくいかなかったので、私はTortoiseを使用してプロジェクトファイルの作業リビジョンをUSBメモリに保存し、Macに移植しました。その後、私は新しい壊れたプロジェクトファイルを古い作業ファイルに置き換え、クリーンアップし、それは魅力のように機能しました!
AdFocプロビジョニングプロファイルをTestFlightで使用するいくつかの新しいデバイスで更新したため、問題が発生しました。これは、xcodeがプロジェクトまたはターゲットのコード署名ビルド設定でプロビジョニングプロファイルに古い参照を持っているために発生していると考えられます。私が修正した方法は次のとおりです。