如何获取Bundle ID?

69

我正在为iOS获取Facebook API的工作,并且FB注册页面需要项目的Bundle ID。 我该如何获得这个信息?我读到了一些关于在运行时获取它的内容,但是是否有方法可以让Xcode告诉我这个信息,或者它保存在plist文件中?我没有使用默认的bundle id,我记得在创建项目时设置了它。


3
在 Xcode 中点击您的项目并进入“info”选项卡时,捆绑标识应该会出现。它应该类似于“com.mycompany.appname”。请注意,我保持了原来的意思,并尽力使句子更加通俗易懂。 - CodaFi
7个回答

66
如果您想以编程方式获取它,可以使用以下代码行:

Objective C

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

Swift 3.0 :


Swift 3.0:
let bundleIdentifier =  Bundle.main.bundleIdentifier

它将适用于iOS和Mac应用程序。祝你好运。


1
这是我长期寻找的解决方案,谢谢。 - Arafin Russell

36

对于使用Xcode >=7的用户:选择您的目标并单击General选项卡。在Identity下可以找到Bundle Identifier


一般选项卡是什么? - Romain Jouin
4
此文档中选择“查看(View)” > “导航器(Navigators)” > “显示项目导航器(Show Project Navigator)”。从“项目/目标(Project/Targets)”弹出菜单或者第二侧边栏的“目标(Targets)”部分中选择目标。点击“常规(General)...”。 - plátano plomo

16

详情

  • Xcode 11.2.1 (11B500),Swift 5.1

以编程方式

解决方案1

let bundleId = Bundle.main.bundleIdentifier

解决方案2

let bundleId = Bundle.main.infoDictionary?["CFBundleIdentifier"] as? String

来自Xcode

解决方案1

在此输入图片描述

解决方案2

在此输入图片描述


15
在Xcode 4中,选择您的项目,然后选择您的目标(应该只有一个),然后选择“信息”选项卡。您应该能够在那里看到捆绑标识符。

1
谢谢,但问题是我正在构建一个库,当我点击目标时,我只有“构建设置”、“构建阶段”和“构建规则”。还有其他方法可以得到它吗? - vjuliano
4
「当它说 PRODUCT_NAME 时,您需要替换它吗?」 - shim

5

iOS Bundle ID(PRODUCT_BUNDLE_IDENTIFIER)

Bundle ID或Bundle标识符是苹果生态系统中用来识别应用程序的标识符。苹果建议使用反向域名(反向DNS表示法)来创建它。

例如:

com.companyname

Bundle identifier是在Info.plist[关于]中的一个字符串,它对于任何Bundle都是必需的。

要使用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

当您设置一个新目标时,您会发现

Bundle Identifier = Organization Identifier + ProductName              

组织标识符在构建设置中未被考虑。

[ProductName]

要以编程方式获取它。

//Objective-C
[[NSBundle mainBundle] bundleIdentifier];

//Swift
Bundle.main.bundleIdentifier

[词汇表]


2

您可以从支持文件=> info.plist => Bundle标识符中查找并更改。

一般来说,它是DNS表单,例如com.companyname.appname

输入图像描述


2

如果你正在构建一个库,这可能会有问题 - 应用程序才有捆绑标识符(bundle ID)。然而,你可以通过编程方式查询它,使用[NSBundle mainBundle],然后[NSBundle bundleIdentifier]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接