macOS 应用程序包
Flet CLI 提供了 flet build macos
命令,该命令允许将 Flet 应用程序打包成 macOS 应用程序包。
备注
该命令只能在 macOS 上运行。
先决条件
Rosetta 2
在苹果芯片上,Flutter 需要Rosetta 2:
sudo softwareupdate --install-rosetta --agree-to-license
Xcode
Xcode15 或更高版本,用于编译原生 Swift 或 Objective-C 代码。
CocoaPods
CocoaPods1.16,用于编译并启用 Flutter 插件。
flet build macos
使用 Flet 创建 macOS 应用程序包。
包架构
默认情况下,flet build macos
命令构建适用于 Apple Silicon 和旧款 Intel 处理器的通用应用程序包。因此,打包工 具将尝试为 arm64
和 x86_64
平台下载 Python 二进制轮子。一些流行软件包的最新版本不再包含 x86_64
轮子,所以整个打包操作将失败。
你可以通过使用 --arch
选项将构建命令限制为特定架构。例如,要构建仅适用于 Apple Silicon 的 macOS 应用程序包,请使用以下命令:
flet build macos --arch arm64
同样可以在 pyproject.toml
中进行配置:
[tool.flet.macos]
build_arch = "arm64"
权限
设置写入 .entitlements
文件的 macOS 授权:
flet build --macos-entitlements name_1=True|False name_2=True|False...
默认的 macOS 授权:
com.apple.security.app-sandbox = False
com.apple.security.cs.allow-jit = True
com.apple.security.network.client = True
com.apple.security.network.server" = True
在 pyproject.toml
中配置 macOS 应用程序授权(注意授权名称周围的 "
):
[tool.flet.macos]
entitlement."com.apple.security.personal-information.photos-library" = true