iOS中静态库开发调用函数BUG

本文描述了在使用Xcode开发过程中遇到的一个关于静态库调用的奇怪BUG,详细记录了问题现象、排查过程及最终解决方案,指出正确配置接口文件是关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在开发静态库的时候遇到一个很奇怪的BUG,最关键的是报错信息误导Debug,折腾了好一会;

首先是A工程中有B工程,A工程中调用了B工程中某个类的实例方法,该方法返回NSTimeInterval,结果在A工程中,接受这一返回参数时老是报错,需要加 * 才行,很是郁闷,截图如下:

这是所调用的B工程中的方法的实现部分,如下


这是A工程中的调用部分,不加 * 就报错,如下

这是A工程中的调用部分,加了 * 就不再报错,如下


如果加了 * ,该结果就没法转换成double之类的进行处理,所以不能加 * ,不加又报错,没法编译,很是郁闷。

首先,对于NSTimeInterval,我确定他不是对象,只是一个double类型,可是Xcode这么报错我就搞不懂了。

由于该对象我在A工程本类中多处调用,其他地方都用的好好地,其他方法都可以,我就没看B工程中暴露接口的工程设置那部分。


解决方法,是B工程中配置接口文件的问题。我记得之前我已经将B工程中调用的那个雷暴漏出来了,应该是另一个同事更新SVN时给删掉了,现在找不到了,重新添加,解决。在Target--BuilePhase--copyFile中拖过来即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值