xcframework制作与发布

2023-05-23  本文已影响0人  runsuc

一.创建sdk项目。

创建framewrk

创建完成后发现程序目录中没有 products 文件夹,执行Commond+B命令后也找不到编译出来的framework文件,那编译之后的framework该怎么找呢?

解决步骤

1、选择 NKFramework.xcodeproj, 右键显示包内容

2、打开project.pbxproj

3、按照下面方式修改文件并保存

搜索productRefGroup,将productRefGroup上面一行的mainGroup的值,复制给productRefGroup,再保存一下,Xcode就自动刷新出来了。

创建项目后 修改设置

1、修改最低的系统要求

2、在Building Settings–>Mach-O Type, Swift必须为Dyanmic Library(swift 语言智能选择动态库)

3、Build Active Architecture Only 选择NO,表示支持各种设备

4、Dead Code Stripping, 设置为 NO

添加代码

1、删除创建项目时候自带的.h文件

2、添加代码,注意方法或属性的可访问级别 open > public > internal > fileprivate > private,要想外面程序能访问,至少要设置为public级别

3、设置 TAGETS—>Build Phases—>Headers

生成xcframework

模拟器和真机

编译完成,products里面就是对应的framework包,分别是真机和模拟器架构的。

xcodebuild -create-xcframework -framework 真机.framework -framework 模拟器.framework -output YXSDK.xcframework

通过以上命令生成xcframework

二.上传远端仓库

gitee仓库

以gitee为例,新建一个远端仓库。

1.clone远端仓库到本地

2.把xcframework包放在仓库本地文件夹根目录下,同时在根目录创建podspec文件

本地仓库

podspec文件内容示例

Pod::Spec.new do |s|

  s.name = '名字'

  s.version = '版本'

  s.summary = '短描述'

  s.description = '长描述'

  s.homepage = '主页'

  s.authors = '作者' 

  s.source  = { :git => '仓库地址', :tag => '版本'} 

  s.platform = :ios, '9.0'

  s.vendored_frameworks = '包名+后缀'

end

3.提交文件到远端仓库

(1). 将代码修改添加到暂存区:

```git

git add .

```

(2). 将暂存区内容提交到本地仓库:

```git

git commit -m "提交的描述信息"

```

(3). 将本地仓库的代码推送到远程仓库:

```git

git push <remote> <branch>

```

4.生成tag

git tag -a 1.2.0 -m '描述'

git push --tags

5.发布到cocopods

pod trunk push ./sdk名字.podspec --skip-import-validation --allow-warnings

如果上传到私有仓库是

pod repo push gitee-xiao-applepi-appleplay sdk名字.podspec --verbose --allow-warnings

上一篇 下一篇

猜你喜欢

热点阅读