Is bundle ID really needed?

I have been exploring Appium with Java by itself, as well as for a proof of concept with Serenity. In neither case did I specify the bundleId value in my capacities, yet my sample tests run fine on my iPhone 6 simulator and my physical Android device. Can someone please explain under what circumstances it’s a necessity?

Note that my app is from React Native in case that makes a difference.

Thanks in advance!

  • Platform (iOS)
  • Appium version = 1.7.1
  • Simulator
  • Client langauage = Java
  • OS = MacOS

“Bundle ID of the app under test. Useful for starting an app on a real device or for using other caps which require the bundle ID during test startup. To run a test on a real device using the bundle ID, you may omit the 'app’ capability, but you must provide 'udid’.”