我已经创建了一个 Mac 应用程序,现在我希望分发它。但是,无论我做什么,每当我尝试安装该应用程序时,它都会显示
Apple could not verify “<application_name>” is free of malware that may harm your Mac or compromise your privacy.
我按照Apple开发者论坛
的说明进行操作nuitka
codesign --deep --force --verify --verbose --sign "Developer ID Application: <developer id>" \
--entitlements entitlements.plist --options runtime "<application>.app"
codesign --verify --verbose "<application>.app"
<application>.app: valid on disk
<application>.app: satisfies its Designated Requirement
/usr/bin/ditto -c -k --sequesterRsrc --keepParent <application>.app <application>.zip
xcrun notarytool submit <application>.zip --keychain-profile "key_chain_notarization_profile" --wait
accepted
。然后我将公证票钉到应用程序上。xcrun stapler staple "<application>.app"
spctl -a -vvv -t install <application>.app
<application.app>: accepted
source=Notarized Developer ID
origin=Developer ID Application: <developer_id>
dmgbuild
创建了一个 dmg,然后也签署了该 dmg。verification failed
。我尝试检查此 dmg 的公证状态(使用 spctl),结果没问题。Stackoverflow post 建议签署应用程序,对其进行公证,从中准备 dmg,然后签署 dmg 并对其进行公证。我尝试过这个但没有运气。
我的设置已选中
Allow applications from app store and verified developers
。
我还检查了我接受的公证的日志。它说已接受,但日志显示有一些警告,例如
{
"severity": "warning",
"code": null,
"path": "<application>.dmg/<application>.app/Contents/MacOS/mediapipe/modules/face_detection/face_detection_short_range.tflite",
"message": "The archive at <application>.dmg/<application>.app/Contents/MacOS/mediapipe/modules/face_detection/face_detection_short_range.tflite could not be unpacked. Any executables contained in the archive will not be notarized.",
"docUrl": null,
"architecture": null
},
这些警告会导致问题吗?
我正在运行 Mac 操作系统版本 15.0 的 M2 Mac Air。
非常感谢任何帮助。
如果它对任何人有帮助,那么这些步骤对我有用。重新启动笔记本电脑后,一切都按预期运行。我还在一些 Apple 开发者论坛上看到 Gatekeeper 缓存结果,因此可能与此有关。不管怎样,自从重启以来,每次都运行得很好。回顾一下,以下是我遵循的所有步骤: