使用强化运行时和第 3 方 CLI 工具分发具有开发人员 ID 的应用程序 - 代码签名错误

问题描述 投票:0回答:1

当我尝试使用 Xcode Organizer 中的开发者 ID 分发我的应用程序时,我收到此错误:

未启用强化运行时。

“ffmpeg”必须在支持 Hardened Runtime 的情况下重建。在项目编辑器中启用强化运行时功能,测试您的应用程序,重建您的存档,然后再次上传。

Hardened Runtime
Project
>
Signing & Capabilites
中启用。

我的应用程序的资源文件夹中有 FFmpeg CLI 工具

由于 FFmpeg 是已编译的二进制文件,因此我无法选择启用

Hardened Runtime

我该如何解决这个问题并让我的应用程序正确进行代码签名?

xcode ffmpeg command-line-interface code-signing notarize
1个回答
0
投票

使用 此协同设计指南 我找到了如何对所有包含的二进制文件进行编码签名(例如 FFmpeg 等 CLI 工具)。

Run Script Phase
中添加新的
Build Phases

codesign --force --options=runtime \
--sign "${EXPANDED_CODE_SIGN_IDENTITY_NAME}" \
"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Contents/Resources/ffmpeg"

您可以将此方法用于应用程序内的其他位置/子路径,例如

/Contents/Frameworks/
等。只需打开您的应用程序包并观察文件夹路径即可。

如果您有多个二进制文件,请对每个二进制路径重复 codesign 命令。

© www.soinside.com 2019 - 2024. All rights reserved.