• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - $(AppIdentifierPrefix) 在构建期间未解析

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:26:56 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

.entitlements 文件中的$(AppIdentifierPrefix) 不会被实际的 AppIdentifierPrefix 替换。有人可以对这个问题有所了解吗?



Best Answer-推荐答案


以下是我对当您添加 iCloudGame Center 等功能时添加到项目中的 YourApp.entitlements 文件的理解到您的应用程序。

(我很想看到一些指向官方文档的指针……如果有的话。)

这些权利文件有什么用途?

首先,.entitlements 仅在您的项目中用于 build 过程。它应该出现在最终的 .app 产品中。如果是,请选择 .entitlements 文件并在 File Inspector 中清除它的 Target Membership。 (这就是 Xcode 实际生成这些文件的方式,没有任何目标成员资格)

那么 .entitlements 文件是干什么用的呢?它是构建过程的一部分,在此过程中它会被提取和处理,并以两种形式放入您的最终应用程序包中:

  • 首先:.entitlements 文件的内容嵌入在embedded.mobileprovision 文件中。这是一个带有二进制签名的签名属性列表,但是如果您在文本编辑器中打开它,您会看到有一个 Entitlements 部分应该具有已处理的权利在那里。

  • 第二:还有一个名为 archived-expanded-entitlements.xcent.entitlements 文件的副本。这与原始 .entitlements 文件基本上是相同的文件,只是它已经过处理。

.entitlements 文件中可以使用哪些预处理器值

我不认为 .entitlements 文件的处理记录在任何地方。肯定有一个预处理器在上面运行,因此像 $(AppIdentifierPrefix) 这样的东西会被实际值替换。但是,这似乎与用于 Info.plist 文件的那个不同。

$(AppIdentifierPrefix) 与您可能在 Xcode 项目中配置的 Team Identifier 相同。您可以在 Identity 部分的目标的General 设置下找到已配置的Team。如果团队设置为 None,那么会有一个很好的变化,即不会设置 $(AppIdentifierPrefix)

So to finally answer your question: if you look at those two files that I mentioned above, and you still see the $(AppIdentifierPrefix) is not correctly substituted, make sure your project has a Team Identifier configured.

Xcode 如何知道您的目标使用什么权利文件?

在您的build设置中,您可以查看 代码签名权利 设置,以了解 Xcode 用于每个构建配置的文件。通常 DebugRelease 使用相同的权利文件,但您可以更改它。

(例如,对于 iOS 版 Firefox,我们为 NightlyAuroraBetaRelease 构建。这些都有不同的权利文件。我们有不同的权利文件的原因是因为我们无法让 .entitlements 预处理器识别像 $(PRODUCT_NAME:rfc1034identifier) - 我很想知道是否有办法做到这一点,因为这将使我们的构建更简单。)

什么工具处理 .entitlements 文件?

不完全确定。但是,如果您查看构建日志,您会看到一些对 builtin-productPackagingUtility 工具的引用。这似乎是一个内部 Xcode 命令,而不是实际作为命令行工具存在的东西。所以这不是很有用。

现在您几乎了解了我所知道的关于 .entitlements 文件的所有信息 :-)

(我喜欢评论并将这个答案变成权利文件的权威指南 - 我认为它们周围有很多困惑)

关于ios - $(AppIdentifierPrefix) 在构建期间未解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29195849/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap