关于OC与Swift混编过程中 “xxxx-Swift.h”未找到的问题

关于OC与Swift混编过程中 “xxxx-Swift.h”未找到的问题

在对OC与Swift混编中,加了3个target:
在这里插入图片描述
但是在混编过程中,某两个Target 提示找不到 “xxxxx-Swift.h”
在网上找了很多资料,说“xxxx-Swift.h”名字必须与工程名一样,于是乎加了3个预编译宏,区分:

#if TPELD_Enterprise
#import TPELD_Enterprise-Swift.h"
#elif TPELD_Prerelease
#import "TPELD_Prerelease-Swift.h"
#else 
#import "TPELD_Company-Swift.h"
#endif

这几个宏定义,是在build Setting 里面,如下图:
在这里插入图片描述
只有在切换到TPELD_Enterprise后才能正常编译,否则,都提示找不到-Swift.h文件

找资料找了很久,总结出两个问题,在此记录一下:

  1. 在Swift里,貌似这个预编译if else指令不太管用,都不能进入到 elif判断
  2. 在排查问题后发现生成的-Swift.h文件名不对,如下图
    在这里插入图片描述
    解决方法
    分别在三个Target中,找到 Objective-C Generated Interface Header Name,统一都修改为TPELD_Company-Swift.h,然后去掉上面一堆繁琐的预编译判断,只留下#import TPELD_Company-Swift.h,也就是说在每一个Target中,都去强制生成TPELD_Company-Swift.h文件,不以工程名判断,这样就能顺利的通过编译,而且也可以区分不同的Target了。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值