印刷:エントリ、「:CFBundleIdentifier」が存在しない


117

react-native run-iosビルドを実行すると成功しますが、以下のエラーが発生します。私はいたるところをチェックしましたが、何も機能していないようです。sudoコマンドの前で使用しても効果はありません。Xcode 7.3、react-native-cli:0.2.0、react-native:0.24.1、node v5.11.0を使用しています。

=== BUILD TARGET mobileTests OF PROJECT mobile WITH CONFIGURATION Release ===

Check dependencies

** BUILD SUCCEEDED **

Installing build/Build/Products/Debug-iphonesimulator/mobile.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/done.js:10
      throw err;
      ^

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mobile.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:470:13)
    at Object.execFileSync (child_process.js:490:13)
    at _runIOS (runIOS.js:91:34)
    at runIOS.js:24:5
    at tryCallTwo (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:45:5)
    at doResolve (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:200:13)
    at new Promise (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:66:3)
    at Array.runIOS (runIOS.js:23:10)
    at Object.run (/Users/astiefel/workspace/bosspayments/mobile/node_modules/react-native/local-cli/cli.js:86:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)

バンドル識別子はファイルに存在しますか?私はそうではないので、問題は「なぜファイルに書き込まれないのか」です。
trojanfoe

それは本当に助けにはなりません。詳しく説明できますか?
astiefel 2016年

私にとっては、Xcode9.4との反応ネイティブ互換性の問題が原因です。次の手順で解決しました。「rm -rf node_modules」、「react-native upgrade」、「npm install」、「react-native run-ios」
raja

Raja..node_modulesフォルダーを削除した後で、react-nativeアップグレードを実行することは本当に可能ですか?私が試した、それはアップグレードが認識されないと述べた
VK1

ちょうどあなたのターミナルを閉じて、それをもう一度開いて、それが私のために働いたアプリを実行してください。
チャンドニー

回答:


110

Xcodeでプロジェクトを開く

Xcode> 9の場合、コマンドを実行react-native upgradeします(これにより、すべてのiOS構成が上書きされます。注意して使用してください)。

その後

1. [ファイル]-> [プロジェクト設定]に移動します。

2.詳細ボタンをクリックします

3.「カスタム」を選択し、プルダウンで「ワークスペースを基準」を選択します

4.「Build / Products」を「build / Build / Products」に、「Build / Intermediates」を「build / Build / Intermediates」に変更します

パッケージを追加

5. click done、done


1
これはxcode 8.2で私のために働きました、私の問題を修正しましたありがとう!
KrakenDev 2017

@SurajShingade私のマシンにはXcode 9.4があり、「ファイル」内に「プロジェクト設定」オプションが見つかりません。「ワークスペース設定...」しか表示されません。プロジェクト設定にアクセスする場所を知っていますか?- imgur.com/a/SqAemnL - [ファイル]メニューのオープンとオプションキーを押したことはどちらかそれを表示しない
パットニーダム

1
@PatNeedham「プロジェクト設定」は「ワークスペース設定」に名前が変更されました
Toby Caulk '

3
このソリューションが機能する理由を少し説明していただけますか?
ビクター

3
これは、xCode 10の時点でまだ修正する方法です
jacurtis

70

これは、config.hファイルがない場合に発生する可能性があります。

config.hファイルの更新については、

1)Xcodeを閉じます。

2)ターミナルを開き、プロジェクトのルートフォルダーに移動して、次の操作を行います。

cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/

3)構成スクリプトを実行します。

./configure

4)Xcodeを開き、アプリを実行してみます。

{X}:バージョン番号glog


ありがとう!! これは私の時間を節約しました。
Gurjinder Singh 2018

6
最初から反応ネイティブをインストールして、最初のプロジェクトを作成しましたが、それを機能させることができませんでした。この答えは私の問題を解決しました。フレッシュで新しいインスタレーションなので、なぜこれが起こるのか疑問に思います
Antonio

なぜこれが起こっているのか説明してもいいですか?
Patrick Bassut、2018年

これでうまくいきました。新鮮反応ネイティブ0.55、Xcodeのバージョン10のインストール
マット

1
... configure0.58のようにスクリプトがない場合はどうなりますか?
スコットスカイ

29

Reactを使用react-native upgradeして更新すると、私のためにそれが行われました。

免責事項:これはすべてのあなたのiOSの設定、上書き注意して使用することを


30
すべてのiOSファイルを上書きすると、プロジェクトに対して行った構成が上書きされます。笑。自己責任での使用は免責事項です。
AlxVallejo 2017年

1
誰かが「すべてのiOS設定」の意味を説明できれば役立つでしょう。
アンドリューコスター

25

Xcode 10を使用している場合は、Xcodeの最新のビルドシステムとの非互換性が原因である可能性があります。レガシービルドシステムに切り替えてみてください。

Xcode 10を開き、ファイル>プロジェクト設定>ビルドシステム>ドロップダウンをレガシービルドシステムに切り替えます。

スクリーンショット


ねずみ!この問題で2営業日が失われました。おかしなことに、私のCLIビルドは3日前まで問題なく動作しました。wtfは起こりませんでした。これでも問題は解決しませんでした。成長した私の叫びを見たいですか?TT
マイクS.

10

私の問題は、実際には、ビルドがデバッグモードではなくリリースモードであったことでした。その結果、識別子は存在しないものを指していました。ビルドタイプを変更したところ、動作しました。


3
しかし、リリースモードでプロジェクトを実行する場合はどうでしょうか。
Tieme


@astiefelこれも私に起こっていることだと思います。ちなみにビルドタイプはどうやって変えるの?
JohnnyQ 2017年

@JohnnyQ Product-> Scheme->に移動しEdit Scheme、[Build Configuration]で[Debug]を選択します
astiefel

10

私もこの問題に遭遇し、それを修正する方法を見つけました

これが私がやったことです:

1)ファイルディレクトリに空白がないことを確認します。

2)cd プロジェクトディレクトリ

3)コマンド反応ネイティブアップグレードを実行する

4)ネイティブのiosフォルダーに移動し、xcodeプロジェクトを開きます。

5)[ファイル]> [プロジェクト設定]> [詳細...]に移動します。

6)[カスタム]> [ワークスペースを基準]を選択します

7)製品パスは「ビルド/ビルド/製品」である必要があります

8)中間パスは「ビルド/ビルド/中間体」である必要があります

9)今、あなたのターミナルでコマンドを実行してみて反応し、ネイティブの実行IOS

このソリューションがこの問題に直面している私たちの一部に役立つことを願っています。


21
私にはまだ機能しませんが、まだこのエラーが発生します:Entry、 ":CFBundleIdentifier"、存在しません
Mehrnoosh

9

以下のためにreact-native@0.46.4、次の私のためのトリックをしました:

1)パスを確認し、.xcodeproj(.xcworkspaceではない)ファイルを開いて、

  • ファイル>プロジェクト設定>詳細設定に移動します

  • カスタム>ワークスペースを基準

  • 製品パスを 'build/Build/Products'
  • 中間パスをに設定 'build/Build/Intermediates'
  • 完了を押して変更を保存します

2)rm -rf ios/buildプロジェクトのルートディレクトリで実行します

3)リアクションパッケージャーを閉じます

4)react-native run-iosもう一度実行


「react」:「16.2.0」、「react-native」:「0.52.0」でも動作します
Raju yourPepe

これにより、RNプロジェクトのiOS部分にポッドを介して依存関係を追加した後、問題が解決しました。例外:.xcworkspace設定でこの変更を行いました。
cayleyh 2018

@cayleyh、これは私には正確ではありませんでしたが、Splashscreenエラーは取り除かれましたxcworkspace
ダニエル

8

新しいパッケージをインストールした後、node_modulesフォルダーがおかしくなったときに、これが起こりました。フォルダーrm -rf node_modulesを強制終了してnpm installから、パッケージを再インストールし、それを修正しました。


これは私のためにそれを修正した唯一のものでした。
223seneca

7

Print: Entry, ":CFBundleIdentifier", Does Not Existメッセージには、ちょうどあなたのプロジェクトがコンパイルやリンクに失敗したことを示します。実際の根本的な原因についてのヒントを見つけるために、出力をさかのぼって調べる必要があります。

問題がある場合は、最後の数行だけでなく、完全なビルド出力を確認してください。Xcodeでプロジェクトを開き、⌘Bを押してビルドすることもできます。Xcodeのビルドエラーは、失敗の根本的な原因を見つけるのに役立ちます。


人生の救世主。それは確かに別の問題でした。スキーマの名前を変更して問題を解決しました。
Mohammad Abbas

Xcodeでコンパイルすると、ビルドできます。react-native run-iosコマンドの実行中に失敗しました
sejn

6

このエラーを受け取った場合は、おそらくアプリケーションの正しいパスがありません。

コマンドの処理中にエラーが発生しました(ドメイン= NSPOSIXErrorDomain、コード= 2):要求されたアプリケーションのインストールに失敗しました指定されたパスにアプリケーションバンドルが見つかりませんでした。目的のアプリケーションバンドルへの有効なパスを指定します。印刷:エントリ、「:CFBundleIdentifier」が存在しない

React Nativeは、runIOS.jsのrun-iosコマンドの一部としてハードコードしています。

build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app

残念ながら、Xcodeの構成パスは、構成や、Xcodeプロジェクトとワークスペースのどちらを使用しているかによって異なります。Xcodeプロジェクトのデフォルトパスはであると思いますbuild/Products
このプルリクエスト11899を提出して、プログラマーにCLIからの柔軟性を提供しました。


3

私にとっては、Cocoapodsを使用react-native linkして、同時に同時に誤ってモジュールをセットアップする問題がありました。

同じモジュールでこれら2つを混在させないでください。


これをどうやって回避するのですか?
Isaac

@Isaac核兵器キャッシュとプロジェクトが設定されている方法に応じていずれかcocoapods /反応ネイティブリンク、とインストール
Buruianăカタリン

3

削除/build/してreact-native run-ios再度実行することでこれを修正しました


@EranOrはProvide a valid path to the desired application bundle.コンソールに表示されますか?次のxcode設定を試してくださいfile => project settings, build system: legacy, derived data: project-relative, DerivedData in the input => advanced, custom, relative to workspace, build/Build/ in the first 2 inputs

2

バンドル識別子を宣言したことを確認しましたか?これを行うには、xcodeでプロジェクトファイルをクリックし、[全般]タブを選択します。これは、[ID]の下の最初のテキストボックスの下に表示されます。チェックする別の方法は、プロジェクトのiosフォルダーにあるinfo.plistファイルをチェックインすることです。これは私のinfo.plistに表示される方法です。プロジェクトの実際のバンドルIDはxcodeにあります。

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

1
ええ、私はそれをチェックしました。エラーは、実際には、コードがデバッグモードではなくリリースモードであったことです。
astiefel

2

私の場合、gitからプロジェクトをプルし、iosフォルダーも含まれています。

最初にiosフォルダを削除してrm -rf ios から、react-native upgrade


2

このエラーを解決するには、以下の手順に従います。

ステップ1

Open terminal

ステップ2

cd node_modules/react-native/third-party

ステップ3

ls

Copy or identify glog-{version}

ステップ4

cd ../../../

手順5

cd node_modules/react-native/third-party/glog-{version}

手順6

./configure

これがうまくいくことを願っています!!!


2

私はこれらの解決策をすべて試しましたが、私のために働いたものは次のとおりです:

  1. 走る react-native upgrade
  2. Xcodeを開く
  3. xCodeでアプリケーションを実行する
  4. 正常に動作します!

Eliに感謝します。 "react-native upgrade"を実行するだけでこの問題を解決しました
javeedishaq

エンタープライズ環境で作業する人には、このソリューションの使用に注意を促します。反応ネイティブコアは他の人の作業に悪影響を与える可能性があるため、アップグレードを計画する必要があります。最初に尋ねます。
マイクS.


1

0.44は実行しても問題ありませんが、0.45は実行できません。バージョンの問題である可能性があります。次のコマンドで解決しました。rninit init TaxiApp --source react-native@0.44.0;


1

Xcodeで使用していない一部のシミュレーターを削除したため、私の端末で同じメッセージが表示されます。

react-native run-ios特定のパラメーターなしで実行すると、react-nativeはデフォルトのシミュレーターを実行します。私の場合はiOS 10.3.1を搭載したiPhone 6であり、私は偶然このシミュレーターを削除しました。

ここに私のエラーメッセージが来ます:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
        { id:F3A7BF54-B827-4517-A30D-8B3241C8EBF8 }

Available destinations for the "albums" scheme:
    { platform:iOS Simulator, id:CD64F26B-045A-4E27-B05A-5255924095FB, OS:10.3.1, name:iPad Pro (9.7 inch) }
    { platform:iOS Simulator, id:8FC41950-9E60-4264-B8B6-20E62FAB3BD0, OS:10.3.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:991C8B5F-49E2-4BB7-BBB6-2F5D1776F8D2, OS:10.3.1, name:iPad Pro (12.9 inch) }
    { platform:iOS Simulator, id:B9A80D04-E43F-43E3-9CA5-21137F7C673D, OS:10.3.1, name:iPhone 7 }
    { platform:iOS Simulator, id:58F6514E-185B-4B12-9336-B8A1D4E901F8, OS:10.3.1, name:iPhone 7 Plus }

。。。

Installing build/Build/Products/Debug-iphonesimulator/myapp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/myapp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

これらを取り除くために、Xcodeを開いて、利用可能なシミュレーター(リストされている端末と同じ)を確認して実行します。 react-native run-ios --simulator="your device name"

私の場合、私はを実行しreact-native run-ios --simulator="iPhone 7"、問題は解決しました。


パーフェクト!ありがとう!
Asinox 2018

1

数か月後にすべての答えを試した後、ようやくOSをSierraに更新し、XCodeを最新バージョンに更新すると、すべてのエラーが消えます。これがそこにいる一部の人々に役立つことを願っています!


1

追加、それは私の上で何も修正しないときに機能します:

  1. react-native-git-upgradeをインストールしてプロジェクトを更新します。 npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Xcode-> File-> Project settings-> Advancedを開きます。
  3. [ カスタム ] 選択し、[ ワークスペースを基準 ] 選択して、[完了]、[完了]をクリックします。
  4. CLIを更新します。 npm i -g react-native-cli
  5. Nodejs 8とNPMを更新します。nvm install --ltsそしてnvm install-latest-npm
  6. ios / buildおよびnode_modulesを削除します(プロジェクトのルートパスにあります)
  7. 再び進みnpm installreact-native run-ios、そして私を抱き締める:-)

ここでようやく動作します。

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • ノード8.11.1
  • RN 0.55.2

1

このバージョンを使用すると、xcode 10.1で動作します

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"

私は上記が私の救世主になると正直に思ったが、それでもうまくいかなかった。だからアップグレードして、いや、私は確信していません。
ダニエル

1

これらすべての解決策は私にとってうまくいっていないことを示唆しています。私はrn 0.58.5プロジェクトを作成しました。そして私のプロジェクトと比較して。> のJavaScriptCore.framework下には何もありません。JavaScriptCoreをドラッグアンドドロップした後、react-native run-iosビルドが成功しました。Build PhasessLink Binary With Libraries

JavaScriptCore.framework ロケーション: ‎⁨Macintosh HD⁩ ▸ ⁨Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Platforms⁩ ▸ ⁨iPhoneOS.platform⁩ ▸ ⁨Developer⁩ ▸ ⁨SDKs⁩ ▸ ⁨iPhoneOS.sdk⁩ ▸ ⁨System⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩

JavaScriptCore.framework


+1を与えると、私は0.58.5も実行していて、フレームワークも環境にありませんでした。
ブライアンP

1

私にとっては、cocoapodsが管理するiOSの依存関係でした。

これをしなければなりませんでした:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

これは私のために働いた

https://shift.infinite.red/beginner-s-guide-to-using-cocoapods-with-react-native-46cb4d372995

PS:他の誰かが行った作業を理解しようとしていました


実行中のポッドインストールは言った:[!]プロジェクトディレクトリに「Podfile」が見つかりません。
Mohammad Mirzaeyan

@MohammadMirzaeyanの仮定は、あなたが実行しpod init、有効なPodfileを持っているということです。申し立てに対抗するための十分な知識がない場合は、反対票を投じないでください。私が述べたようにそれは他の誰かのプロジェクトだったので、私はすでにPodFileを持っていました。私はあなたのような人々のためにポッド設定を完全に削除しました。
user710907

1

次のようなエラーメッセージ The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Xcodeはあなたplistが持っていると思うことを意味しますinvalid format content

Info.plistファイルの内容を貼り付けて、そのファイルの何が問題かを調べる必要があります。

考えられる問題の1つは、この<key><values>s(<array>s、<string>s、または<bool>s)のペアが正しくないことです。例えば:

<key>UISupportedInterfaceOrientations</key>         //<------ here is the key
<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<string>Tagueo necesita usar la camara</string>
<key>NSMicrophoneUsageDescription</key>
<string>Tagueo necesita usar el microfono</string>
<array>                                            //<------ here is the value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>   //<------ please compare this key
<array>                                            //<------ please compare this value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

移動しkeyvalue収集するだけです

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
   <string>UIInterfaceOrientationPortrait</string>
   <string>UIInterfaceOrientationLandscapeLeft</string>
   <string>UIInterfaceOrientationLandscapeRight</string>
</array>

これにはもっと多くの賛成票があるはずです!私のInfo.plistには、どこにも閉じられておらず、明らかに間違ったタグ '<string />'がありました。plistファイルを先頭から末尾まで注意深く確認してください。
ダグラスシュミット

0

この作業は、ナビゲーターでRCTWebSocketプロジェクトをクリックし、ビルド設定>カスタムコンパイラフラグの下のフラグを削除します。 ここに画像の説明を入力してください


0

私は問題を解決する方法を見つけました:プロジェクトパスにスペースを使用しないでください!🎉😄


0

これでうまくいきました。https://facebook.github.io/react-native/docs/getting-started.html(ネイティブコードを使用したプロジェクトのビルド)の手順に従います。

react-native run-iosコマンドを実行する前に 、https://sourceforge.net/projects/boost/files/boost/1.63.0/からboostノードモジュールをダウンロードします。 //sourceforge.net/projects/boost/files/boost/1.63.0/し、node_modules / react-native / third-party / boost_1_63_0を置き換えます

ここで、 react-native run-ios コマンドを実行します


0

npm installコマンドを実行するとインターネットの問題が発生し、ファイルnode_modules\react-native\third-partyが正しくダウンロードされないため、これが正しくダウンロードされているかどうかを確認してください。そうでない場合は、node_modulesを削除して再インストールしてください。

次にreact-native run-ios コマンドを実行します


0

基本的な理由は、portのデプロイが自由ではないことです。デバイスを再起動してすべてのポートを解放する$ lsof -i :8081か、実行して、ポート8081を占有しているプロセスを見つけます。ポート8081を使用しているプロセスを実行して強制終了します。$ kill -9 {process_which_is_running_under_8081}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.