web-dev-qa-db-ja.com

Xcode 11のインストール後にシミュレーターでアプリケーションを実行できない-CFBundleVersionエラー

昨日、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で動作していることを忘れていました。

47
Piotr Sękara

私の場合、ビルドバージョンフィールドは空でした。そこに値を追加しましたが、それでも機能しませんでした。私は_killall -9 CoreSimulatorBridge_コマンドを試しましたが、それも役に立ちませんでした。最後に、info.plistのxml([Open as-> Source code])をチェックしたところ、CFBundleVersionキーが存在せず、バージョンがinfo.plistにCFBundleShortVersionString

以下に示すようにCFBundleVersionキーをinfo.plistに追加したところ、うまくいきました。

<key>CFBundleVersion</key> <string>$(MARKETING_VERSION)</string>

それが他の誰かにも役立つことを願っています。

0
Sundeep

私は昨日この問題に直面していました。 gitからコードをプルしてコンパイルしようとしたが、その後、シミュレーターでアプリを実行できない場合があります(またはアプリをアーカイブしてアプリストアに送信すると、バージョン番号がアーカイブ情報に入れられませんリスト、1.3.4(123)などのバージョン情報なし)。エラーメッセージは、CFbundleVersionが正しくセットアップされていないことです。 Xcodeのバージョンは11.4(11E146)です。

だから私は方法に従ってみました:

  1. Info.plistのCFBundleVersionを修正します(正しいバージョンの形式、番号、またはX.X.XXを設定してください)。

  2. バンドル識別子を変更します。たとえば、プレフィックスアドレスcom.exampleをcom.example.testに追加します。次に、アプリをコンパイルしてシミュレータにインストールしてみます。現在、アプリが正常にインストールできることがわかります。

  3. 次に、バンドルIDをcom.exampleなどの元のIDに変更します。その後、もう一度お試しください。シミュレータまたはアーカイブにアプリを正常にインストールできることがわかります。

0
Yin Gong

こんにちは私は今これで解決しました:私のinfo.plistにはこのキーしかありませんでした:

<key>CFBundleShortVersionString</key>
<string>2.1</string>

...そして今、これを追加するすべての作品:

<key>CFBundleVersion</key>
<string>2.1</string>

再び動くシミュレーターで….

注:CFBundleVersionがなければ、私のアプリは物理デバイスで完全に動作しました!!!

0
Blasco73

以下が表示された場合running error

(*下の添付のスクリーンショットを参照)

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

数ステップで完了します。

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

ステップ2)info.plist内。

ステップ3)* ((Bundle versions string、short) を(Bundle Version)の下に追加します

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

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

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

ステップ5)ビルド成功

   Happy Coding :-)
0
BugDoctor