我有一个 Flutter 应用程序,它是在 Flutter for macOS 中构建的。但我想不出一种方法来对 Application.app 包进行代码设计。我已经搜索了互联网,但找不到正确的方法。
问问题
4941 次
2 回答
12
程序非常简单。但它没有在任何地方正确记录。
- 从 Xcode 获取证书。最简单的一步就是使用Xcode,添加一个新的证书。在此处阅读有关它的更多信息https://help.apple.com/xcode/mac/current/#/dev154b28f09
- 获得证书后,您需要找到它的身份来签署您的应用程序。
security find-identity -p codesigning
在终端中运行它并根据您刚刚创建的证书名称复制它为您提供的哈希值。 flutter build macOS
通过在您的项目文件夹中 运行UPDATE flutter build macOS 来构建您的 Flutter 应用程序的发布版本不再起作用。试试flutter build macos
吧。参考。感谢@Bartosz 在评论中指出这一点。cd
进入创建您的应用程序的文件夹。现在运行codesign --deep --force --verbose --sign "<identity>" Application.app
提供我们在步骤 2 中处理的哈希来代替(保留引号)。
你应该看到这样的东西Application.app: signed bundle with Mach-O thin (x86_64) [com.application]
- 验证签名
codesign --verify -vvvv Application.app
和spctl -a -vvvv Application.app
第一个会给你类似的东西
Application.app: valid on disk
Application.app: satisfies its Designated Requirement
第二个会给你类似的东西
Application.app: accepted
source=Developer ID
origin=Developer ID Application: Spreaker Inc (xxx)
阅读更多关于它的信息https://pracucci.com/atom-electron-signing-mac-app.html
Flutter 桌面很棒。但是来自Android Dev背景,我不知道如何登录mac。希望它可以帮助某人。
于 2020-02-02T10:53:05.063 回答
1
您可以像使用任何标准 macOS 应用程序一样,使用 UI 或 xcconfig 在 Xcode 项目中简单地设置您的签名身份。签名过程没有任何特定于 Flutter 的内容。
于 2020-02-02T18:54:46.273 回答