tl; dr:プロジェクトファイルを手動で編集して、Xcodeに新しいプロファイルを通知する必要があったことがわかりました。さて、なぜプロジェクトファイルを手動で更新しなければならなかったのかわかりません。おそらく、新しいプロファイルをXcodeにインポートするプロセス中に何か問題が発生したため、新しいプロファイルが入っていることに気づきませんでした。または、ファイルシステムが途中で停止し、Xcodeがそれ自体を更新できませんでした。しかたがない。
今のために楽しい技術的な部分:
重要:ファイルの変更を伴う他のすべての場合と同様に、変更しないでください。バンドルやXcodeプロジェクト全体をバックアップ.xcodeproj
するか、Xcodeプロジェクトが適切なバージョン管理に保たれていることを確認してください。何も頼らずに、混乱してXcodeにプロジェクトのデバイスへのビルドを停止させたくはありません。
アプリの.xcodeproj
バンドルの内容を確認しました(現時点ではXcodeは実行されていません)。これらを表示するには、Finderでプロジェクトフォルダを開き、ファイルをControlキーを押しながらクリックして、[パッケージの内容を表示.xcodeproj
]を選択します。
Breeze.xcodeproj /
Daniel.mode1v3
Daniel.pbxuser
project.pbxproj
次にproject.pbxproj
、テキストエディタ(バイナリではなくテキスト)で開き、ビルド構成情報を探しました。
ラベルの付いたセクションがあり/* Begin XCBuildConfiguration section */
ます(エディターの検索機能を使用して見つけることができます)。これはエントリのリストであり、各エントリは、特定のビルド構成内の特定のプロファイルのコード署名構成を表します。
開発用のバイナリに署名するために使用するプロファイルに関する情報は次のとおりです。
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Daniel Tan (XXXXXXXXXX)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Breeze_Prefix.pch;
GCC_VERSION = com.apple.compilers.llvmgcc42;
INFOPLIST_FILE = "Breeze-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
PRODUCT_NAME = "Breeze";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";
SDKROOT = iphoneos;
};
name = Debug;
};
注目すべきはこの行です:
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";
これは、ビルドエラーによって報告されたGUIDです。古い期限切れのプロビジョニングプロファイルの識別子。
私がしなければならなかったのは、それを新しいプロファイルのGUIDに置き換えることだけでした。
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "E6E6369E-FD58-4886-9C3A-72C9DAE36501";
プロジェクトをXcodeで再度開くと、新しいプロビジョニングプロファイルを使用して、アプリがデバイスに正常にビルドおよびインストールされます。