在i0S开发中,我们经常会使用到一些自定义的代码或功能,为了方便重用和管理,我们可以将这些代码打包成-个Framework,供其他项目使用。本文将介绍如何创建一个i0S Framework,并详细说明每个步骤需要做的事情和相关代码。
步骤概览
步骤一:创建workspace方便管理FreamWork和测试Demo
步骤二: 创建FreamWork
步骤三: 创建测试Demo
一、创建workspace
1.创建文件夹用于存放workspace项目
2.打开Xcode,选择File->New->Workspace
二、创建FreamWork
1.打开之前创建的workspace项目,选择“Framework & Library”模板,底部选择Add to 到workspace
2.FreamWork-Build Settings配置
- 1.搜索“Mach-0 Type”,将其值设置为“Static Library”
- 2.搜索“Product Module Name”,将其值设置为Framework的名称,比如“MyFramework”。
- 3.Build Active Architecture 0nly:设置为NO
- 4.i0S Deployment target:framework支持的最低iOS版本
- 5.搜索“Always Embed Swift Standard Libraries”,将其值设置为“YES”(仅在项目使用了Swift时需要设置)
- 6.编译生成framework静态库之前先将framework对应的scheme中的run 的值改成 Release
3.FreamWork-Build Phases配置
headers:将需要暴露出来的头文件添加到public分组下,需要隐藏的头文件添加到project分组下
4.创建Bundle
如果项目中用到了图片、Xib等资源时需要创建-个Bundle
4.配置Bundle
5.将创建好的Bundle添加到framework项目的依赖中去。
6.项目中使用Bundle
NsString *bundlePath = [[NsBundle mainBundle] pathforResource:"PrintFramework.bundle" ofType:@"bundle"];
NsString *imagePath = [bundlePath stringByAppendingstring:@"/logo.png"];
UIImage *image = [UIImage imageNamed:imagePath];
温馨提示:在创建Bundle时的名称不能和framework的名称一样,一样会导致失败
三、创建FreamWork测试Demo
1.创建Demo
2.添加Cocoapod管理的第三方库
platform :ios, '9.3'
//忽略第三方库所有警告
inhibit_all_warnings!
//指明xcworkspace名称
workspace 'Demo.xcworkspace'
target 'Demo' do
project 'Demo.xcodeproj'
pod 'SVProgressHUD'
end
target 'MySDK' do
#这里的project要指明路径
project 'MySDK/MySDK.xcodeproj'
pod 'SVProgressHUD'
end
3.Demo去调用SDK库(配置Framework的引用)
Demo –> Build Phases –> Link Binary With Libraries –> 添加SDK
4.调用Framework中的对象
#import "SVProgressHUD.h"
#import <SDK/HelloObject.h>
- 本文作者: Grx
- 本文链接: https://ruixiaoguo.github.io/Grx.github.io/Grx.github.io/2024/05/03/iOS构建静态库FreamWork及调试/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!