摘要
Xcode 编译工程代码时,出现编译错误时除了红色图标外,还会附送几句英文文本。
常规操作拷贝英文文本,放到搜索框中找答案,但是读懂这几句话能事半功倍。
项目中如果有 OC 和 Swift 两种语言的代码,那么桥接文件(xx-Bridging.h)必然是要创建的,它作为桥梁,使得项目中的 OC 和 Swift 代码直接自由调用。对桥接文件感兴趣,给我留言,一定详细解答
错误
但是这种处理方式放到 Framework 中就失效,报错并返回 Error: using bridging headers with framework targets is unsupported。翻译过来就是Framework 中不支持桥接文件。
难道 Framework 中的代码不可以同时存在 Swift 和 OC 两种代码吗?
解决
如果答案是不能同时存在,那肯定是要砸电脑了。但是如何解决呢?
借用名言,此路不通就换别的路。虽然不让用桥接文件,但是似乎发现Framework 文件中用一个 .h 文件,桥接文件也是 .h 文件,这绝不是巧合。
看着桥接文件在项目中的处理方式,处理它:
- Framework 项目中引入 OC 文件
- Framework 头文件(umbrella header 文件)引入 OC 的 .h 文件
- 项目工程的 Build Phases → Headers → Public 中添加 OC 的 .h 文件
解决!!!
总结
Framework 似乎是 APP 项目的缩小版,因为 APP 项目有的工程文件、plist 文件等它都有,但是 APP 项目为了保证自己的主宰地位,让一些处理方式只能在 APP 中使用。摆在 Framework 面前只有两条路,要不领会精神绕道走,要不就明确说:“我不行",交给老大哥处理。
原文地址:https://www.cnblogs.com/shsuper/p/15546489.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。