When I use command line tool template it has a bundle identifier inside the wizard. What does bundle identifier mean? Is this similar to namespace?
The bundle identifier is the unique string that identifies your application to the system. This compares to the display name (namespaces are usually prefixes in frameworks), which is what iOS uses to show the name of your app on the springboard.
The ending should be some variant of your app's name for readability. (It can actually be whatever you want, as long as all of your apps have different ones.)
A bundle ID or bundle identifier uniquely identifies an application in Apple's ecosystem. This means that no two applications can have the same bundle identifier. To avoid conflicts, Apple encourages developers to use reverse domain name notation for choosing an application's bundle identifier.
An App ID is a string used to identify one or more apps from a single development team. The string consists of two parts, the Team ID and the bundle ID separated by a period (.). The Team ID is supplied by Apple, while the bundle ID is supplied by the developer.
According to Apple docs:
A bundle identifier lets iOS and macOS recognize any updates to your app. Your bundle ID must be registered with Apple and be unique to your app. Bundle IDs are app-type specific (either iOS or macOS). The same bundle ID cannot be used for both iOS and macOS apps.
Since Xcode 11.4, you can use same bundle identifier for both iOS and macOS app if you want to support universal purchase feature.
From Release Note
Xcode 11.4 supports building and distributing macOS apps as a universal purchase. To distribute your macOS app as a universal purchase, specify the same bundle identifier as your iOS app in the Xcode template assistant when creating a new project. If you have an existing project, edit its bundle identifier in the Project Editor.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With