IOS SDK项目打包成Framework静态库

news/2024/7/20 20:58:09 标签: ios

一、打包代码

1、新建framework工程,如图:

2、选中 Target ,选择 Build Settings ,在 Architectures 下增加 armv7s 

3、Build Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构   

4、在搜索栏搜索 Mach-O Type ,将 Mach-O Type修改为 Static Library(静态库)类型

5、将Dead Code Stripping设置为No

6、选中 Target ,选择 Build Phases - Headers ,可以看出有三个选项,分别是 Public 、Private 、Project ,把需要公开给别人的 .h 文件拖到 Public 中,把不想公开的,即为隐藏的 .h 文件拖到 Project 中

7、完成上述步骤之后,在项目里默认生成的.h文件中,把步骤(5)中public下的.h文件都用 #import 引入,不然编译后生成的.framework在引用的时候会有警告

8、按照下图将编译的 Device 选择为真机 ,然后按下 Command + B 开始编译,编译成功后在 Products 文件夹的 .framework 文件,右键点击 Show in Finder。将Device选择为模拟器,重复第一次的步骤,这样编译出来的静态库可以真机和模拟器都支持

9、合并步骤(7)中真机和模拟器模式下生成的两个 framework 文件:打开终端,输入命令:lipo  -create  真机framework路径  模拟器framework路径  -output  合并后的文件路径

10、将合并后的framework文件导入到项目中,在需要调用的地方 #import framework的.h文件即可

二、打包图片资源

打包成framework的代码引用的图片资源需要打包成bundle的形式才能引入

1、新建项目,选择macOS ,选择Bundle

2、修改BaseSdk为iOS,因为Bundle默认是macOS系统的,所以我们要修改他的属性

3、修改Build Setting中COMBINE_HIDPI_IMAGES属性为NO。否则Bundle图片格式就会为tiff格式

4、设置Skip Install的值为YES,同时删除Installation Directory的键值;作为资源包只需要编译就好,不需要安装相关配置

5、把图片拉进Bundle中,选择真机模式,command + B,在Products文件夹下的.bundle右键选择Show in Finder,可以看到我们生成的Bundle文件

6、把Bundle文件导入到我们的framework项目中,具体用法

7、 重新打包成framework,并和图片Bundle一起导入到工程中;注意:如果demo中不导入Bundle,图片是不会显示出来的


http://www.niftyadmin.cn/n/1265322.html

相关文章

iOS接入unity

一、unity导出xcode工程 1、在BuildSettings中选择Other Linker Falgs 依次添加 -Wl、-undefined、dynamic_lookup、-ObjC 2、修改Enable BitCode为No

Android文件路径获取

Android文件存储分为内部和外部存储 一、内部存储 getFilesDir() /data/data/com.example.cjmsdkdemo/files getCacheDir() /data/data/com.example.cjmsdkdemo/cache Android 10开始,此部分存储也划分为内部分区存储,不需要权限 getExternalFilesD…

手写一个AIDL

客户端demo:https://github.com/hewind/AidlClientTest 服务端demo:https://github.com/hewind/AidlServerTest 实现功能:增加人员、删除人员、获取人员信息; 一、客户端 1、创建PersonBean实体类 public class PersonBean i…

Activity启动流程(Android 10源码分析)

下面的源码分析,将按照上图的流程图一步一步分析 一、启动进程start目标Activity 启动Activity先从startActivity开始,点进startActivity进入ContextWrapper类中,↓ Overridepublic void startActivity(Intent intent) {mBase.startActivit…

使用Cocos Creator制作试玩广告(PlayableAd)

一、制作的试玩广告平台要求 1、zip包大小必须小于5M 2、资源文件必须处理成base64 3、代码依赖的素材放在本地,不能存在在线请求的资源 二、制作环境和工具 环境:Mac(版本10.15.1) 工具:Cocos Creator&#xff…

技术文章汇总

一、安卓相关 1、Binder 红茶一杯话Binder(初始篇)写给 Android 应用工程师的 Binder 原理剖析Android Bander设计与实现 - 设计篇Binder学习指南Binder系列—开篇Android跨进程通信:图文详解 Binder机制 原理Android深入浅出之Binder机制认…

Homebrew的使用

一、基本用法 操作 命令 更新Homebrew brew update 更新所有安装过的软件包 brew upgrade 更新指定的软件包 brew upgrade wget 查找软件包 brew search wget 安装软件包 brew install wget 卸载软件包 brew remove wget 列出已安装的软件包 brew list 查看软件…

Linux环境下使用SDKmanager安装AndroidSDK

一、下载SDK tools 1、SDK tools下载地址:https://developer.android.google.cn/studio 打开上面的链接滑到最后,下载linux版本的SDK tools zip包 2、下载下来并解压zip文件,可以看到cmdline-tools下的文件如下: 3、在cmdline-t…