登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

Flutter插件中引用本地framework

时间:2026-08-20 23:28:30 435浏览 收藏

前言

最近在研究Flutter plugin,发现iOS端已经默认采用SPM了。然而,目前SPM的应用还比较有限,而我所获取的Framework又是纯本地的,无需发布到远程仓库,但却始终无法正确添加。其实这本身并非难题,只是我对SPM还不太熟悉罢了。

Flutter插件中引用本地framework

如果有误,望指正。

.framework转成.xcframework

由于对方给我的是一堆.framework文件,而SPM不支持.framework,所以要先把.framework变成.xcframework

xcodebuild -create-xcframework -output SampleFramework.xcframework -framework path/to/a.framework -framework path/to/b.framework 

完成之后你会得到一个Sample.xcframework.

集成xcframework

假设你的插件名字叫作plugin_name,并且你要集成的xcframework名字叫作SampleFramework.xcframework

首先,将xcframework复制到ios/plugin_name目录下。接着,找到Package.swift文件,然后把SampleFramework.xcframework添加进去。

import PackageDescription

let package = Package(
    name: "plugin_name",
    platforms: [
        .iOS("12.0")
    ],
    products: [
        .library(name: "plugin_name", targets: ["plugin_name","SampleFramework"]) // 这里添加你的framework名称
    ],
    dependencies: [
        .package(path: "Sources/plugin_name/SampleFramework.xcframework") // 这里添加你的framework
    ],
    targets: [
        .target(
            name: "plugin_name",
            dependencies: [
                .byName(name: "SampleFramework") // 这里添加你的framework
            ],
            resources: []
            
        ),
        
        .binaryTarget(name: "SampleFramework", path: "SampleFramework.xcframework") //这里添加你的framework

    ]
)

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>