2 つの異なるバージョンをビルドできるようにしたいアプリがあります。1 つは、テスト データベースにヒットし、テスト分析バックエンドに入力するなどの「テスト」バージョンであり、次に、本番データベースと分析バックエンドである「ライブ」バージョンです。
そのため、ターゲットを複製し、適切な変更を加えました。両方をビルドして、両方を電話にインストールし、電話で両方を手動で実行できます。ただし、gdb または lldb でデバッグするためにデバイスの Xcode で実行しようとすると (両方で同じエラーが発生します)、元のターゲットは正常に実行されます。ただし、複製されたターゲット(「テスト」ターゲット)は、デバイスで実行するとエラーになります(両方ともシミュレータで正常に実行され、問題はデバイスでのみ実行されます)
lldb の結果: [APPNAME] はアプリ全体の名前です -- テスト バージョンでは製品が [APPNAME]Test に設定されています
エラー: '/Users/chad/Library/Developer/Xcode/DerivedData/[PROJNAME]-ezbuaazlwmgdwydjykcufhicaspu/Build/Products/Debug-iphoneos/[APPNAME]Test.app/[APPNAME]Test' の起動に失敗しました
gdb は基本的に、同じパスが見つからないというダイアログ ボックスを表示します。
ただし、そのパスは実際には存在します。Xcode デバッガー ウィンドウからパスを切り取り、ターミナルに移動して % ls -a '/Users/chad/Library/Developer/Xcode/DerivedData/[PROJNAME]-ezbuaazlwmgdwydjykcufhicaspu/Build/Products/Debug-iphoneos/ と入力すると、 [APPNAME]Test.app/[APPNAME]Test'
それはそれで問題ありません。また、Products フォルダーの下のファイル リストで Xcode をクリックし、[APPNAME]Test.app をクリックして、コンテキスト メニューで [Show in Finder] を選択すると、問題なく表示されます。
そして、アプリは電話にコピーされ、オーガナイザーに表示され、アプリを手動で起動してデバイス上で実行できます。コピーされたターゲットのデバイスの Xcode で自動起動しませんが、元のターゲットは Xcode で正常に実行されます。
これについての洞察をいただければ幸いです。これは、私が作成した iPhone プロジェクトで複数のターゲットをリアルタイムで操作するのは初めてです (他の誰かが作成したプロジェクトでチームで作業するのではなく)。ありがとう。