Bundle Identifier和Product Bundle Identifier有什么区别?

时间:2016-07-08 04:11:57

标签: ios

我想知道bundle Identifierinfo.plist)之间的区别。 产品Bundle Identifier(在Build Setting -> Packaging -> Product Bundle Identifier)。

提前致谢。

2 个答案:

答案 0 :(得分:4)

BUNDLE IDENTIFIER是您应用的命名空间,在App Store世界中必须是唯一的

PRODUCT_BUNDLE_IDENTIFIER是project.pbxproj文件中的变量。 Apple在Xcode 7发行说明中指出,PRODUCT_BUNDLE_IDENTIFIER现在是#34;为目标设置Bundle Identifier的推荐位置。"因此,如果您在项目中的任何其他位置使用BUNDLE_IDENTIFIER,则必须将其更改为PRODUCT_BUNDLE_IDENTIFIER才能保持同步。

答案 1 :(得分:1)

捆绑标识符 -

这是您的应用程序的唯一标识符。操作系统使用它来唯一标识您的应用程序。在App Store上,每个应用都将此作为唯一。

  

CFBundleIdentifier(String - iOS,OS X)唯一标识   束。系统上的每个不同的应用程序或包必须具有唯一性   捆绑ID。系统使用此字符串来识别您的应用程序   方法。例如,首选项系统使用此字符串进行标识   给定偏好适用的应用程序; Launch Services使用   捆绑标识符,用于查找能够打开特定内容的应用   文件,使用它找到的具有给定标识符的第一个应用程序;在iOS中,   包标识符用于验证应用程序的签名。

     

捆绑ID字符串必须是统一类型标识符(UTI)   仅包含字母数字(A-Z,a-z,0-9),连字符( - )和句点(。)   字符。该字符串也应采用反向DNS格式。对于   例如,如果您公司的域名是Ajax.com并且您创建了一个应用程序   命名为Hello,您可以将字符串com.Ajax.Hello指定为您的应用程序   包标识符。

产品分发包标识符

这是Xcode项目文件中的变量,形式为XCode 7.0 Apple建议在Info.plist中的CFBundleIdentifier中设置Product Bundle Identifier,然后设置用户$(PRODUCT_BUNDLE_IDENTIFIER)

  

新构建设置Product Bundle Identifier   (PRODUCT_BUNDLE_IDENTIFIER)是设置Bundle的推荐位置   目标的标识符。应配置目标的Info.plist   通过引用它来使用此构建设置   $(PRODUCT_BUNDLE_IDENTIFIER)在CFBundleIdentifier的值中   键。