关于swift- OC混编使用Pod遇到的2个错误

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

错误1

Cannot find interface declaration for 'UITableViewCell', superclass of "DEFUITalbleViewCell"
Cannot find interface declaration for 'UIView', superclass of "DefUIView"

Cannot find interface declaration for '系统类', superclass of "自定义"

关联信息:我从swift定义了很多工具和基础封装,然后在OC的PCH文件中#import "{projectName}-Swift.h",从而可以在OC中使用。

诱发原因:项目中使用了一个新的依赖库,是纯swift实现的,所以podfile中需要设置use_frameworks!,依赖下载后就出现了上面的错误,好多系统类的继承类都提示找不到了。

解决办法:stack overflow中有人提到互相import可能会导致这个问题

This can happen when foo.h #imports "bar.h" and bar.h #imports "foo.h" (or sometimes its a chain of three or more header files importing each other in a circle) and it leads to spurious errors like the one you're seeing.

介于出问题的类都是swift报漏给OC的,我就想到了{projectName}-Swift.h的引用问题,最后发现把{projectName}-Swift.h写在PCH文件的最后面,然后清除编译缓存(Clean Build Folder...),重新编译就好了。

当然,这个问题没找到根本,只是临时解决了,知道的伙伴可以提醒一下真正的原因或者如何定位原因

错误2

Library not found for -lAFNetworking Linker command failed with exit code 1 (use -v to see invocation)

这里只是随便写了一个,还是其他使用pod管理的依赖

背景:项目中使用了一个新的依赖库,是纯swift实现的,所以podfile中需要设置use_frameworks!,依赖下载后就出现了上面的错误

解决:项目设置(build settings)中的Linking - General中的Other Linker Flags中有写入-lAFNetworking等其他pod库,删掉即可

问题猜测,podfile中原来没有设置use_frameworks!,所以Other Linker Flags使用-l可能就没啥问题,现在使用framework了,不匹配,报错了。

以上,希望能帮到你

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值