52

昨日、Xcode 11 のベータ版をダウンロードしました。その後、プロジェクトを開いて、新しい Xcode で実行しようとしました。残念ながら、次のメッセージでエラーが発生しました:


Failed to install the requested application
Domain: NSPOSIXErrorDomain
Code: 22
Failure Reason: The application's CFBundleVersion is invalid.
Recovery Suggestion: Ensure your bundle contains a CFBundleVersion with a valid semantic version number.
--

ベータ版をクローズし、Xcode の最新の安定版 (10.2.1) で再度実行しようとしましたが、同じエラーが発生しました。Xocde 11 でプロジェクトを実行しようとする前に、Xcode 10 で問題なく動作したことを言及する必要があります。ベータ Xcode で実行する前後で何も変更されていません。

私がすでに試したこと:

  • Xcode 11 ベータ版を削除しました
  • プロジェクトをクリーンアップし、最新のブランチからプルしました
  • 以下から Xcode 10 を完全に削除しました。
~/Library/Caches/com.apple.dt.Xcode
~/Library/Developer
~/Library/MobileDevice
~/Library/Preferences/com.apple.dt.Xcode.plist
/Library/Preferences/com.apple.dt.Xcode.plist
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.bom
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.plist
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.bom
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.plist
  • そして、新しい安定バージョン10.2.1をインストールしました

Xcode 11 でテストされていない他のプロジェクトを問題なく実行できます。

私の最後のアイデアは、macOS を再インストールすることですが、それはしたくありません。

編集: アプリケーションが物理的な iPhone XS で動作していることを忘れていました。

4

16 に答える 16

9

ターゲットに移動したところ、「バージョン」フィールドが空であることがわかりました。たとえば、1.0 などの数字を入力してください。

ここに画像の説明を入力

于 2020-02-28T21:19:58.697 に答える
7

Sgeven.Zheng と Cristik の回答を組み合わせます。

原因

Xcode11 Beta をインストールするCoreSimulator.frameworkと、次の更新を含む の新しいバージョンがインストールされます。

https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_release_notes

「CFBundleVersion のないバンドルは無効であり、デバイスまたはシミュレーターに正しくインストールできません。CoreSimulator は、プロセスの早い段階でそのようなバンドルをチェックして拒否し、より明確なエラー メッセージを表示します。(49892531)」

以下は問題を解決しません。

  • Xcode11 ベータ版のアンインストール
  • Xcode 10 のアンインストールと再インストール

これは、がバンドル外の にCoreSimulator.frameworkインストールされているためです。再インストールすると、xcode10 は、現在インストールされている のバージョンがxcode10 がインストールしたものよりも新しいことを検出するため、そのままにします。/Library/Developer/PrivateFrameworks/CoreSimulator.frameworkXcode.appCoreSimulator.framework

短期的な修正

  1. xcode11 をアンインストールする
  2. Xcode 10 をインストールします (既にインストールされている場合は再インストールする必要はありません)。
  3. 削除する/Library/Developer/PrivateFrameworks/CoreSimulator.framework
  4. Xcode 10 を起動し、コマンド ライン ツールのインストールに同意します。

長期的な修正

これは「実際の」バグではなく、Xcode11 の意図された動作であるため、最終的にはアプリが常に有効な .xml でビルドされるようにするための手順を実行する必要がありますCFBundleVersion

于 2019-06-09T19:01:15.350 に答える
2

次の 実行エラーが発生した場合。

(* 以下の添付のスクリーンショットを参照してください)

これは、この問題を解決する方法です。

いくつかの手順で完了します。

ステップ 1) Xcode でプロジェクト ナビゲーターに移動します。

ステップ 2) info.plist で。

ステップ 3) (バンドル バージョン)の下に* (バンドル バージョン文字列、短い)を追加します。

// Hint: Select the + sign to browse it if necessary .

手順 4) [値] フィールド (文字列) にバージョンを追加しますが、今回はピリオドを使用します。

したがって、(バンドル バージョン)が 4 の場合は、必ずピリオドを追加してください 4.0

ステップ 5) ビルド成功。

   Happy Coding :-)
于 2020-03-31T16:13:54.510 に答える
1

これに加えて、CFBundleVersion が次のように仕様化されていない場合に気付きました。

This key is a machine-readable string composed of one to three period-separated integers, such as 10.14.1. The string can only contain numeric characters (0-9) and periods.シミュレーターではビルドされません

リンク

于 2019-06-06T15:33:07.260 に答える
0

私もこの同じ問題に遭遇しました。

ここで提供されている他のオプションのいくつかを試すまでには至りませんでしたが、/DerivedData ディレクトリを削除するだけで、シミュレーターのビルドに戻ることができました。

どこにあるかわからない場合は、Xcode -> Preferences -> Locations を実行し、Derived Data のパスの横にある矢印を選択します。

于 2019-06-10T21:50:55.427 に答える