42

当我使用命令行工具模板时,它在向导中有一个包标识符。捆绑标识符是什么意思?这类似于命名空间吗?

4

3 回答 3

37

根据苹果文档

包标识符让 iOS 和 macOS 识别您的应用程序的任何更新。您的捆绑包 ID 必须在 Apple 注册,并且对于您的应用程序是唯一的。Bundle ID 是特定于应用程序类型的(iOS 或 macOS)。iOS 和 macOS 应用程序不能使用相同的捆绑包 ID。

编辑

从 Xcode 11.4 开始,如果您想支持通用购买功能,您可以为 iOS 和 macOS 应用程序使用相同的包标识符。

来自发行说明

Xcode 11.4 支持构建和分发 macOS 应用程序作为通用购买。要将您的 macOS 应用程序作为通用购买分发,请在创建新项目时在 Xcode 模板助手中指定与您的 iOS 应用程序相同的包标识符。如果您有一个现有项目,请在项目编辑器中编辑其包标识符。

于 2012-07-05T15:31:48.440 回答
23

包标识符是向系统标识您的应用程序的唯一字符串。这与显示名称(命名空间通常是框架中的前缀)相比,这是 iOS 用来在跳板上显示应用程序名称的名称。

捆绑标识符通常(并非总是)以反向 DNS 表示法(即 com.myCompany.myApp)写出。

于 2012-07-05T15:26:33.520 回答
6

为上述答案添加更多要点:配置文件,应用程序的捆绑 ID 必须是唯一的,并且项目分配给团队。此 id 可以在应用程序的目标常规选项卡中设置。为了创建默认的 bundle ID,Xcode 将公司标识符与您在从模板创建项目时输入的产品名称连接起来。字符串格式应为统一类型标识符(UTI),即字母数字字符(AZ、az、0-9)、连字符(-)和句点(.)

于 2015-01-24T14:13:07.333 回答