ios 在生成期间修改了授权文件,这是不支持的

ukxgm1gy  于 2023-02-10  发布在  iOS
关注(0)|答案(6)|浏览(231)

我在发布构建期间收到以下错误:
错误:在生成过程中修改了授权文件“projectname.entitlements”,这是不支持的。可以通过将“CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION”设置为“YES”来禁用此错误,但是这可能会导致生成的产品的代码签名或预配配置文件包含不正确的授权。
我在Google或Apple文档中找不到CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION,有什么建议吗?

0x6upsns

0x6upsns1#

我用Product > Clean Build Folder修复了这个问题。

cwdobuhd

cwdobuhd2#

遇到了相同的问题。您可以在生成设置中将CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION设置为用户定义的设置。

  • 在Xcode中点击项目目标,然后点击构建设置。
  • 单击构建设置下的“+”,然后单击“添加用户定义的设置”
  • CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION设置为YES以进行调试和发布(或您喜欢的任何方案)

oknrviil

oknrviil3#

在开始修改构建设置之前,还可以尝试删除安装或构建目录中的Derived数据。
如果在下面的标准位置找到了项目缓存,您可以执行Xcode清理,它将清除这些数据。

/Users/your_user_name/Library/Developer/Xcode/DerivedData/Path_To_Project/

如果您定义了自己的安装或构建路径,那么请转到该特定目录并删除缓存。如果发生该错误,Xcode应该会提供路径。

voase2hg

voase2hg4#

如果Clean Build Folder不起作用,请确保您没有在多个WindowsWindow Tabs中打开相同的工作区/项目!
(Xcode允许通过File -> New -> Window Tab打开多个选项卡)

q8l4jmvw

q8l4jmvw5#

当我在GitHub Client中执行以下操作时,实际上我遇到了这个完全相同的编译时错误:

**Discarded changes in my Git Repo for an entitlement file.**

必须如上所述,“清洁构建文件夹”或将用户定义的键CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION添加到YES。
我知道上面已经回答了,但我想记录导致上述错误的复制步骤。

0x6upsns

0x6upsns6#

就像其他人发布的一样,这个问题可以通过清理构建文件夹或将CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION设置为YES来解决。
但是,在清理构建文件夹后,一个构建将成功,但任何后续的构建都将失败,并出现相同的授权错误,直到您再次清理构建文件夹。显然,这不是最佳的,因为即使是一行更改,每个构建也会增加约2-3分钟。
第二个解决方案涉及CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION,它完全消除了授权错误,但是在物理设备上的安装每隔一个构建都会失败,直到构建文件夹被清理。
有人知道为什么会发生这种情况吗?我在构建前后检查了我的权利文件...什么都没有改变。这只是一个花费我们生命中所有时间的xcode bug吗?

相关问题