question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

PlistBuddy getting wrong CFBundleIdentifier variable with Xcode 12.0

See original GitHub issue

/usr/libexec/PlistBuddy can not found a CFBundleIdentifier variable on Xcode 12 in iPhone 11 (iOS 14.0)

Description

I tried to run my paz.church application with the yarn ios that opens the iPhone 11 (iOS 14.0) XCode 12.0 simulator, but I get an error that cannot find the application in the build folder

React Native version:

System:
    OS: macOS 11.0
    CPU: (4) x64 Intel(R) Core(TM) i5-6360U CPU @ 2.00GHz
    Memory: 21.41 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 10.16.3 - ~/.nvm/versions/node/v10.16.3/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.9.0 - ~/.nvm/versions/node/v10.16.3/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.0, DriverKit 20.0, macOS 11.0, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 27, 28, 29
      Build Tools: 28.0.3, 29.0.2, 30.0.1
      System Images: android-29 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.0 4.0
    Xcode: 12.0/12A8169g - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_231 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.11.0 => 16.11.0
    react-native: 0.62.2 => 0.62.2
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce

Provide a detailed list of steps that reproduce the issue.

  1. yarn ios
PRODUCT_BUNDLE_IDENTIFIER = paz.church;
PRODUCT_NAME = Paz.Church;

Expected Results

Run on the ios 14.0 simulator (iPhone 11)

Snack, code example, screenshot, or link to a repository:

info Installing "/Users/emmet/Library/Developer/Xcode/DerivedData/pazchurch-dfffuyvjrmhokibjznhcqhpichmy/Build/Products/Debug-iphonesimulator/pazchurch.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
error Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier /Users/emmet/Library/Developer/Xcode/DerivedData/pazchurch-dfffuyvjrmhokibjznhcqhpichmy/Build/Products/Debug-iphonesimulator/pazchurch.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
. Run CLI with --verbose flag for more details.
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier /Users/emmet/Library/Developer/Xcode/DerivedData/pazchurch-dfffuyvjrmhokibjznhcqhpichmy/Build/Products/Debug-iphonesimulator/pazchurch.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:629:11)
    at Object.execFileSync (child_process.js:647:13)
    at runOnSimulator (/Users/emmet/projects/github/pazchurch/node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js:191:45)
    at process._tickCallback (internal/process/next_tick.js:68:7)
error Command failed with exit code 1.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:3
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
wanscocommented, Sep 21, 2020

@oeduardoal yeah, I saw that. Figured some more insight as to what caused it might be helpful to someone. If someone needs a quick in-place fix (i.e. in node_modules) because they were stuck on a locked version like me, two slashes before the equals sign in that line I listed does the trick.

2reactions
wanscocommented, Sep 21, 2020

It looks like xcode 12 is escaping the buildOutput. I’ve traced this to the following line in cli/packages/platform-ios/src/commands/runIOS/index.ts (in getProductName())

const productNameMatch = /export FULL_PRODUCT_NAME="?(.+).app"?$/m.exec( buildOutput, );

The line in the buildOutput string looks like this:

export FULL_PRODUCT_NAME\=something.app

Since getProductName() fails, it fallsback to the schema, which makes it somethingapp.app… and later PlistBuddy is looking for somethingapp.app, but the file was actually built as something.app

Fix: regex to ignore a slash before the equals sign

Read more comments on GitHub >

github_iconTop Results From Across the Web

CFBundleIdentifier does not exist on react-native
Updated xcode, and now when I try to run my react-native app by issuing following command: react-native run-ios I get an error:.
Read more >
CFBundleIdentifier Collision | Apple Developer Forums
I am trying to submit a new App to the Mac AppStore. In App Store Connect, I create a new and enter the...
Read more >
How To Manage Plist Files With PlistBuddy - MarcoSantaDev
In this article, we are going to see how PlistBuddy works and finally an example with a Xcode project. Happy Reading!
Read more >
bitrise-io - Bountysource
I'm trying to get a build for iOS using the Xcode export Archive but I'm ... the CFBundleIdentifier inside the app's Info.plist file...
Read more >
an error was encountered processing the command (domain ...
I'm getting such error, while building IOS app in React Native project: was ... Exist Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found