代码设计:无法为签名者构建到自签名根的链

Codesign: unable to build chain to self-signed root for signer

我在尝试打包 UE4 iOS 应用时遇到一些奇怪的错误,Codesign return this:

/usr/bin/codesign --force --sign D7B82F040B126A01B59DAAF4CE968801525B81F4 --entitlements /Users/louga31/UE4/Builds/QOY/D/UE4_Projects/App/Intermediate/ProjectFilesIOS/build/App.build/Shipping-iphoneos/App.build/App.app.xcent --timestamp=none /Users/louga31/UE4/Builds/QOY/D/UE4_Projects/App/Binaries/IOS/Payload/App.app     
Warning: unable to build chain to self-signed root for signer "Apple Distribution (H7N8851C17)"
/Users/louga31/UE4/Builds/QOY/D/UE4_Projects/App/Binaries/IOS/Payload/App.app: errSecInternalComponent

我在 Stack Overflow 上看到其他人问过有关此问题的问题,但 none 提供的解决方案对我有用。 我已经尝试过的:

我在 Mac 终端中尝试了 运行ning 相同的代码签名命令,但它没有用。 我设法通过 运行 在终端中将它作为 sudo 来使协同设计命令工作,所以我倾向于认为这是某个地方的权限问题(UE4 没有 运行 协同设计作为 sudo,所以这不是'没有真正解决任何问题)

这是我对此的肮脏修复(我确信有更好的方法,但这个方法有效)。

Here是github补丁,需要在4.26分支上打。 (未在 4.27 中测试)

你还需要把文件AppleWWDRCAG3.cer放在Engine\Extras中(你可以得到它here

此修复还允许您指定要与 UnrealBuildTool 一起使用的根证书,以防您需要使用自定义证书。