macos - 如何发布一个用flutter编写的macos应用
问题描述
我有一个 Flutter 应用程序,它是在 Flutter for macOS 中构建的。但我想不出一种方法来对 Application.app 包进行代码设计。我已经搜索了互联网,但找不到正确的方法。
解决方案
程序非常简单。但它没有在任何地方正确记录。
- 从 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。希望它可以帮助某人。
推荐阅读
- javascript - Django如何制作一个首先运行js函数然后在.py中运行的按钮
- python - 如何将烧瓶 HTML 表单数据传递到单独的 .py 脚本中,然后在同一 HTML 页面上显示回来
- azure - 如何使用 PowerShell 将标签添加到现有的 Azure 资源
- java - 你如何检查时间(小时)是否等于?
- hdf5 - linux hdf5构建异常嘈杂-合理吗?
- ruby-on-rails - 获取缩略图 action_text 和 active_storage
- sql - 从 csv 文件导入 TDengine
- r - 根据条件或 ID 匹配和返回值
- web-crawler - 抓取网站时“获取查询丢失”
- python - 如何发布 python 项目?