docs/tools/podspec.md
MNN 支持通过 CMake 自动生成 iOS CocoaPods 的 podspec 文件,方便集成到 iOS 项目中。
MNN_GENERATE_PODSPEC 是一个实验性选项,用于从 CMake 配置自动生成 iOS CocoaPods 的 podspec 文件。启用后,CMake 会自动扫描所有 MNN target 的源文件,生成完整的 MNN.podspec。
# 生成 podspec
./tools/script/generate_podspec.sh
# 生成并验证
./tools/script/generate_podspec.sh --validate
# 生成并完整验证(需要 Xcode)
./tools/script/generate_podspec.sh --validate-full
# 检查 podspec 是否与 CMake 配置同步
./tools/script/generate_podspec.sh --check
# 指定版本号
./tools/script/generate_podspec.sh -v 3.3.0
# CI 模式(无颜色输出)
./tools/script/generate_podspec.sh --validate --ci
mkdir build && cd build
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake \
-DMNN_METAL=ON \
-DMNN_AAPL_FMWK=ON \
-DMNN_BUILD_SHARED_LIBS=OFF \
-DMNN_SEP_BUILD=OFF \
-DMNN_GENERATE_PODSPEC=ON
make -j8
构建完成后,MNN.podspec 会生成在项目根目录。
| 参数 | 说明 |
|---|---|
--version, -v | 覆盖 podspec 版本号(默认使用 CMakeLists.txt 中的 MNN_VERSION) |
--check, -c | 检查现有 podspec 是否与 CMake 配置同步(用于 CI) |
--validate | 生成后执行快速语法验证 |
--validate-full | 生成后执行完整验证(需要 Xcode,耗时较长) |
--ci | CI 模式,禁用颜色输出,严格退出码 |
--help, -h | 显示帮助信息 |
-march=armv8.2-a+fp16)# 1. 验证 podspec
pod spec lint MNN.podspec --allow-warnings
# 2. 推送到私有 spec repo
pod repo push my-specs MNN.podspec --allow-warnings
# 3. 推送到 CocoaPods trunk(需要权限)
pod trunk push MNN.podspec --allow-warnings
# 使用本地 podspec
pod 'MNN', :path => './path/to/MNN'
# 使用 Git 仓库
pod 'MNN', :git => 'https://github.com/alibaba/MNN.git', :tag => '3.3.0'
# 使用 CocoaPods trunk
pod 'MNN', '~> 3.3.0'