I am working on getting the facebook API working for iOS, and the FB registration page requires the Bundle ID of the project. How can I get this information? I read something about getting it at run time, but is there a way to get Xcode to tell me this information, or is it held in a plist somewhere. I am not using the default bundle id, I remember setting it while I created the project.
7 Answers
If you are trying to get it programmatically , you can use below line of code :
objective C
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 3.0 :
let bundleIdentifier = Bundle.main.bundleIdentifier
It will work for both iOS and Mac apps Good luck..
For those using Xcode >=7: select your target and click the General tab. Bundle Identifier is found under Identity.

- 1,672
- 1
- 18
- 26
-
-
4@romainjouin "...choose View > Navigators > Show Project Navigator. Choose the target from the Project/Targets pop-up menu or in the Targets section of the second sidebar if it appears. Click General..." from [this document](https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html) – plátano plomo Nov 11 '16 at 23:19
Details
- Xcode 11.2.1 (11B500), Swift 5.1
Programmatically
Solution 1
let bundleId = Bundle.main.bundleIdentifier
Solution 2
let bundleId = Bundle.main.infoDictionary?["CFBundleIdentifier"] as? String
From Xcode
Solution 1
Solution 2

- 24,482
- 9
- 132
- 127
In Xcode 4, select your project, then your target (you should have only one) and then the 'Info' tab. You should be able to see the bundle identifier there.
-
1Thanks, but the issue is I am building a library, and when I click on the target, I only have "Build Settings" "Build Phases" and "Build Rules". Is there another way to get this? – vjuliano Jan 16 '12 at 08:52
-
4
iOS Bundle ID(PRODUCT_BUNDLE_IDENTIFIER)
A bundle ID
or bundle identifier identifies an application in Apple's ecosystem. Apple advice to use reverse domain name(reverse DNS notation) to create it.
For example:
com.companyname
Bundle identifier is a string in Info.plist
[About] which is required for any Bundle
To set it using Xcode
//Info.plist
Bundle identifier
//by default it points on `$(PRODUCT_BUNDLE_IDENTIFIER)` which is you can setup in Build Settings
//Build Settings the mirror of Target Settings
Build Settings -> Product Bundle Identifier(PRODUCT_BUNDLE_IDENTIFIER)
//Target Settings the mirror of Build Settings
General -> Bundle Identifier
When you setup a new target you find
Bundle Identifier = Organization Identifier + ProductName
Organization Identifier
is not take into account by Build Settings
To get it programmatically
//Objective-C
[[NSBundle mainBundle] bundleIdentifier];
//Swift
Bundle.main.bundleIdentifier

- 29,217
- 8
- 193
- 205
You can find out and change from supporting file=> info.plist => Bundle identifier
It is generally DNS form ex. com.companyname.appname

- 8,482
- 7
- 39
- 68
If you're build a library, this may be problematic - it's applications that have a bundle ID. However, your can probably query this programatically using [NSBundle mainBundle]
and then [NSBundle bundleIdentifier]

- 2,425
- 2
- 19
- 24