似たような質問がたくさんありますが、私の場合はどれもうまくいかないので、もう一度行きます...
マイ ワークスペースには 1 つのプロジェクトがあり、そのプロジェクトには 1 つのターゲットがあります。
そのターゲットを複製することにしたので、アプリのバリエーションを作成できます (ライト バージョンと有料バージョンを考えてみてください。ただし、異なるものです)。
重複したターゲット ビルドを含むスキームはすべて正常にビルドされますが、実行されません。具体的には、シミュレーターで次のようになります。
選択した宛先で実行できません
選択した宛先は、選択したソフトウェアが構築されているアーキテクチャをサポートしていません。選択したソフトウェアを実行するには、そのアーキテクチャをサポートする宛先に切り替えます。
...そしてもちろん、デバイス上で:
選択したデバイスを使用して Xcode を実行できません。
このデバイスで実行するには、サポートされているアーキテクチャの宛先を選択してください。
ノート
- 元の (古い) ターゲット ビルドを含むスキームはすべて正常に実行されます。
- 製品名にno_spacesが含まれています。
- 「アーキテクチャ」/「有効なアーキテクチャ」/「アクティブなアーキテクチャのみをビルド」などのすべての組み合わせを試しましたが、役に立ちませんでした...
- 私はすでに 4.3 以降にデプロイしているので、armv6 は必要ありません/必要ありません。
- 私はXcode 4.5、ベースSDK 6.0を使用しているため、とにかくarmv6はオプションではありません。
- iTunes から AdHoc ビルドをインストールしようとすると、エラー 0xE8008001 が表示されます
- Xcode オーガナイザーから AdHoc ビルドをインストールしようとすると、次の 3 つの警告が表示されます。
Validate 警告 iPhone/iPod Touch: アプリケーションの実行可能ファイルに必要なアーキテクチャがありません。次のアーキテクチャの少なくとも 1 つが存在する必要があります: armv7 (-19033)
Validate Warning アプリケーションはコード署名の検証に失敗しました。署名が無効であったか、許可されていない権限が含まれているか、iPhone 配布証明書で署名されていませんでした。(-19011)
Validate Warning アプリケーションからエンタイトルメントを抽出できません: (null) (-19045)
どんな手掛かり?
アップデート
代わりに、新しいターゲットをゼロから作成して (「空の iOS アプリケーション」)、すべてのクラス/フレームワーク/リソースを 1 つずつ追加してみました。同じエラー。クパチーノの誰かがコードを再利用することを望んでいないと思います...
更新 2
何が起こるかを確認するために、元のターゲット (実行されるターゲット) の「製品名」(「ビルド設定 -> パッケージング」の下) を変更しましたが、同じエラーが発生します。明確にするために: 古い製品名も新しい製品名も、文字とアンダースコアのみです。修正済みこれは、plist の実行可能ファイル名がビルド設定の製品名と一致しないことが原因でした。通常、plist には $() 変数が含まれていますが、そのフィールドをハードコーディングしました... それでも、重複したターゲットは実行されません...
修繕
今は機能しています...新しいターゲットをクリーニングしたのではなく、古いターゲットだけをクリーニングしたと思います。「クリーン」はすべてをクリーンアップすると考えていましたが、Xcode のウィンドウの中央にあるリアルタイムのログ ビューは別のものを示しています...