代码签名错误 - 验证CODE_SIGN_ENTITLEMENTS的值

12
如果我尝试使用Sidekick的云服务编译IOS-Nativescript-App,我会收到以下错误消息:
(CLI) 签名错误:文件“/tmp/builds/_/27e1345b5c089d99eb18995c590617489875f779/5.0.0/5.0.0/APPNAME/platforms/ios/APPNAME\APPNAME.entitlements”无法打开。验证目标“APPNAME”和生成配置“Debug”的CODE_SIGN_ENTITLEMENTS构建设置的值是否正确,并且该文件是否存在于磁盘上。
[xcode-build] 签名错误:在SDK“iOS 11.4”中,“应用程序”产品类型需要代码签名。
我在Windows系统上使用Nativescript,所以本地没有运行xcode……
我的APPName.entitlement文件如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>aps-environment</key>
        <string>development</string>
    </dict>

你有什么解决方案?:-)

8个回答

51

我也遇到了这个问题,但有一个小变化。我认为发生这种情况的原因如下:

  1. 我添加了 "push notifications" 功能
  2. 我删除了权限文件(将其移到垃圾箱),该文件是在我添加了 "push notifications" 功能时添加的

当我这样做后,错误在一段时间后出现。

为了解决这个问题,我进入了"Build Settings",展开了"Signing"选项卡,然后删除了包含"Code Signing Entitlements"的行。

这是在Xcode 11中完成的。


22

Xcode 12

这个错误发生是因为我将.entitlements文件移动到了一个组内。

解决方法:

  1. 打开设置选项卡。

  2. 进入签名部分。

  3. 代码签名授权的值更新为当前.entitlements文件的路径。

例如:

我的.entitlements文件位于此处:

enter image description here

所以,路径应该如下:

enter image description here


我正在Windows系统上使用nativescript - 所以我没有本地运行xcode...所以这不是答案...因为我没有xcode... - J.Root
这可能不是你的情况下的答案,但这是你应该遵循来解决问题的相同逻辑。祝你好运。 - Essam Fahmi
不,我的问题是关于“在Windows系统上使用NativeScript”。这与逻辑不同,因为在Windows系统上我没有Xcode... - J.Root
你应该更新你的问题标题,这样其他人才能理解。看起来很多人都是因为这个标题才来到这里的,正如你所看到的,我的解决方案对他起作用了。 - Essam Fahmi
此外,请注意上面的每个答案都是关于Xcode解决方案的! - Essam Fahmi

7

我知道你六个月前就问过这个问题,但或许对某些人来说这会有用。当我的权益中添加了推送通知,但在功能中它们被禁用时,我遇到了此错误消息。所以我只是把它们打开了,一切开始正常工作。enter image description here


1

enter image description here

请确保代码签名授权和调试、发布的路径与我的截图相同。

1
我的情况有些不同,因为我需要在BuildSettings中将Code Signing Identity全部更改为仅适用于Apple Development。这对我在Xcode 12.5上有效。

enter image description here


0

我的授权文件以.entitlement结尾,而不是.entitlement**s**


0
  1. 在Xcode的项目导航栏中,点击左上角的文件夹图标。 enter image description here
  2. 点击项目名称,将打开“项目”、“目标”、“常规”、“签名和能力”等选项。然后在“目标”子标题下点击应用程序名称。
  3. 进入“构建设置”选项卡。
  4. 向下滚动到“签名”部分,检查“代码签名授权”的值。
  5. 检查设置的值和文件位置。正确的工作值如下: enter image description here

0
在我的情况下,我不小心将我的目标文件夹拖到了另一个目标文件夹中,所以它的文件位置发生了改变。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接