我有点困惑这是如何工作的 - 这是我的理解:
目标的配置文件链接到特定的应用程序ID
目标的包标识符位于Target info\Properies\Identifier下
但是......捆绑ID也位于Info.plist中.看来如果你在Info.plist中更改了包ID ,Xcode会自动在Target info\Properties\Identifier中更改它,反之亦然.
那么哪个优先呢?该目标信息\属性\标识捆绑ID或Info.plist的捆绑ID?
我问的原因是因为我想为我的应用程序提供两个版本 - 免费广告支持版本和付费版本,我想用两个不同的目标实现这一目标.由于他们将是App Store中的两个不同的应用程序,我的理解是他们需要两个不同的应用程序ID(我不想沿着带有应用程序ID的*路线,在App Store上如何工作的描述使我的脑部受伤).
如果我这样做,我是否需要为每个目标使用两个不同的Info.plists,或者我可以使用相同的Info.plist,只是让不同的目标使用不同的开发/分发配置文件?
没有优先权,属性对话框只是您查看Info.plist的另一种方式.
要在目标之间共享plist但具有不同的标识符,请确保为两个目标启用"在Info.plist文件中展开构建设置"选项.然后,对于每个目标,在您的软件包ID的目标设置中创建一个新的用户创建的变量(例如,APPLICATION_BUNDLE_IDENTIFIER,请参见此处:https://stackoverflow.com/a/18472235/308315)并将其设置为正确的值为了那个目标.在你的plist中,为包ID添加以下内容:
CFBundleIdentifier $(APPLICATION_BUNDLE_IDENTIFIER)
变量将在构建时针对每个目标进行评估,因此每个目标都将获得正确的捆绑ID.