framework制作过程中遇到的一些问题。

1.xcode 13 创建app 或 framework时 没有Products目录

解决方法:项目名.xcodeproj右键显示包内容 ->双击打开project.pbxproj文件->搜索 mainGroup复制后面的一串字符,粘贴到 下面一行的productRefGroup 后面 ->保存 重新打开项目即可。

2.关于生成动态库还是静态库的问题。

3.关与生成真机、模拟器、debug、release库 (下面是在xcode 13.2.1环境下)

     

1)生成模拟器库时首先要 确保 Build Active Architecture Only 中的Debug为NO

Build Active Architecture Only(只构建活跃的架构)—-> NO 
什么叫只构建活跃的架构?所谓活跃的架构是指当前选中的模拟器的架构,你选中的就称为活跃的,你没有选中的那些称为不活跃的,

否则只会生成 arm64, 不会生成想要的i386和 x86_64的模拟器库。

可以通过下面的得到想要编译器版本的库

进入库的目录 lipo -info SmarfidSDK 查看所支持的编译器

 lipo SmarfidSdK -thin x86_64 -output SmarfidSDKx86_64

取出x86_64 编译器的文件并生成x86_64文件

用同样的方法取出真机版的 SmarfidSDKarm64文件

lipo SmarfidSDK -thin arm64 -output SamrfidSDKarm64

和并arm64 和x86_64

lipo -create SmarfidSDKx86_64 SmarfidSDKarm64 -output SmarfidSDK

生成 新的SDK 替换原来的即可,

注:我用的是M1的处理器生成的模拟器sdk 也是arm 64的但和真机的arm64无法合并

不知道如何解决(待后续)

3. 关于SDK中用到第三方文件或库冲突的问题。

1)SDK中用到第三方文件

将目当切换到framework下

lipo -info SmarfidSDK 查看编译类型

瘦身出两个编译器

lipo SmarfidSDK -thin armv7 -output Smv7

lipo SmarfidSDK -thin arm64 -output Sarm64

查看各个编译中的目标文件

ar -t Smv7

 然后去掉不要的第三方文件

ar -d Smv7 AFHTTPSessionManager.o

 不要的第三方文件者要执行一下

同样去掉Sarm64编译文件

然后合并去掉第三方文件后的两个文件

lipo -create Smv7 Sarm64 -output SmarfidSDK 即可

2)SDK中用到第三方库

有待进一步完善

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值