• SwiftFramework Error(一)桥接文件


    摘要

    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 文件,这绝不是巧合。

    看着桥接文件在项目中的处理方式,处理它:

    1. Framework 项目中引入 OC 文件
    2. Framework 头文件(umbrella header 文件)引入 OC 的 .h 文件
    3. 项目工程的 Build Phases → Headers → Public 中添加 OC 的 .h 文件

    解决!!!

    总结

    Framework 似乎是 APP 项目的缩小版,因为 APP 项目有的工程文件、plist 文件等它都有,但是 APP 项目为了保证自己的主宰地位,让一些处理方式只能在 APP 中使用。摆在 Framework 面前只有两条路,要不领会精神绕道走,要不就明确说:“我不行",交给老大哥处理。

  • 相关阅读:
    Mongodb在windows下的安装和启动
    git操作的常用命令
    删除smartygit的配置文件
    注册树模式
    关于js的一些基础知识点
    关于mysql的初步学习 (五)
    关于mysql的初步学习 (四)
    关于mysql的初步学习 (三)
    关于mysql的初步学习 (二)
    关于数据库建表时的有趣实例--关键字重复
  • 原文地址:https://www.cnblogs.com/shsuper/p/15546489.html
Copyright © 2020-2023  润新知