Flutter插件中引用本地framework

前言

最近搞了搞Flutter plugin,发现iOS端已经默认使用SPM了,但是SPM目前也比较少,而我拿到的Framework又是纯本地的,不需要发布到远程仓库,但始终无法正确添加。本身不是什么难题,只是因为我不太了解SPM。

如果有误,望指正。

.framework转成.xcframework

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

shell 复制代码
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添加进去。

swift 复制代码
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

    ]
)
相关推荐
m0_zj几秒前
30.[前端开发-JavaScript基础]Day07-数组Array-高阶函数-日期Date-DOM
开发语言·前端·javascript
HarderCoder27 分钟前
ByAI:Swift中ListFormatter的使用指南
swift
念九_ysl31 分钟前
Vue 3指令全解析:内置指令与自定义指令实战指南
前端·javascript·vue.js
瞬间动力1 小时前
笔记:大模型Tokens是啥?为啥大模型按Tokens收费?
前端·javascript·人工智能·阿里云·easyui·oneapi·to
名之以父1 小时前
Git与GitHub:它们是什么,有什么区别与联系?
开发语言·前端·javascript·人工智能·github·个人开发·gitcode
XiaoLeisj1 小时前
【CSS—前端快速入门】CSS 选择器
前端·css
hamburgerDaddy11 小时前
从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(五) 实现登录功能
前端·javascript·react.js·node.js·express
qianmoQ1 小时前
第七章:项目实战 - 第二节 - Tailwind CSS 响应式官网开发
前端·css
winyh1 小时前
AI时代-软件不再只是程序员的专属产物
前端·后端·程序员
OpenTiny社区1 小时前
直播预告|TinyEngine低代码引擎v2.2版本特性介绍
前端·低代码·github