使用捆绑标识符而不是产品捆绑标识符与Xcode 7

升级到Xcode 7后,我注意到CFBundleIdentifier已经开始指向Build Settings / Packaging中的Product Bundle Identifier,而不是Info.Plist中的Bundle Identifier。 有什么方法可以改回来吗? 或者它只是简单地指向Bundle Identifier,即在Product Bundle Identifier字段中写$(BUNDLE_IDENTIFIER)?

您应该将$(PRODUCT_BUNDLE_IDENTIFIER)保留在Info.plist中,并在Build Settings> Product Bundle Identifier中设置产品包标识符 ,其值类似于com.mydomain.myappname

从Xcode 7.0发行说明:

新的构建设置Product Bundle Identifier(PRODUCT_BUNDLE_IDENTIFIER)是为目标设置Bundle Identifier的推荐位置。 应将目标的Info.plist配置为使用此构建设置,方法是在CFBundleIdentifier键的值中将其引用为$(PRODUCT_BUNDLE_IDENTIFIER)。

当您接受问题导航器中的“升级到推荐设置”项目现代化时,Xcode会为您配置此项,除非您的目标预处理其Info.plist文件。 在这种情况下,您需要手动配置此设置。 此更改与旧版Xcode向后兼容。

如果您的目标预处理其Info.plist文件,则需要进行此更改以使某些function起作用,例如On Demand Resources。 (20887827)