添加Chromium Embedded Framework后,代码签名失败

pup*_*eno 5 macos chromium-embedded

我创建了一个简单的Cocoa Objective-C项目来试验CEF(Chromium Embedded Framework).我将文件"Chromium Embedded Framework.framework"复制到我的项目中,将其添加为嵌入式二进制文件,如下所示:

在此输入图像描述

从那时起,我的编译在代码签名时失败,出现此错误:

CodeSign /Users/pupeno/Library/Developer/Xcode/DerivedData/cefobjc-bxtruyemnyagwwgdejtzuxngovsr/Build/Products/Debug/cefobjc.app/Contents/Frameworks/Chromium\ Embedded\ Framework.framework/Versions/A
    cd /Users/pupeno/Projects/macninja-demos/cefobjc
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "-"

    /usr/bin/codesign --force --sign - --preserve-metadata=identifier,entitlements,resource-rules /Users/pupeno/Library/Developer/Xcode/DerivedData/cefobjc-bxtruyemnyagwwgdejtzuxngovsr/Build/Products/Debug/cefobjc.app/Contents/Frameworks/Chromium\ Embedded\ Framework.framework/Versions/A

Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
/Users/pupeno/Library/Developer/Xcode/DerivedData/cefobjc-bxtruyemnyagwwgdejtzuxngovsr/Build/Products/Debug/cefobjc.app/Contents/Frameworks/Chromium Embedded Framework.framework/Versions/A: No such file or directory
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

任何想法为什么会发生这种情况或如何解决它?

小智 0

框架是Cocoa中具有不同版本的分层目录,您必须为框架创建一个主要版本以确保您的框架能够正确签名。我们知道,CEF框架的结构与签名机制不兼容,与预期的结构不同,所以我们需要对其进行修改,如下所示:Cocoa框架的分层目录

此外,您需要分别对框架中包含的库或插件进行签名,我们可能会这样编码......

codesign -s“${CODE_SIGN_IDENTITY}”-f“${PLUGIN_PATH}”