swift中有一些比较好的框架,比如绘图框架charts,最近项目中刚好用到,通过Pod的方式直接导入,xcode会自动生成charts-swift.h的文件,然后在需要导入的地方import <charts-swift.h>即可
但是,通过pod导入的第三方项目如果需要做自定义定制,就没办法修改里面的内容,这样很难受,所以只有不通过pod的方式导入,直接将source文件拖入到工程中,这就涉及到了oc中桥接swift项目的一些问题
使用网上的一些方法和设置并没能解决我的问题,然后会各种报错,通过各种尝试,总算是将oc中桥接swift的问题解决了,一下是解决的步骤

  1. 到github 下载charts官方demo,找到source,将整个source文件拖入到工程中,注意Supporting Files中的文件也一起拖入,将info.plist文件名字修改为chart_info.plist,为了防止和工程中的info.plist文件名冲突

  2. 将source文件拖拽到新的项目中,新建一个swift文件,继承NSObject,名字随意,这个时候,xcode会提醒是否创建一个xxx-Bridging-Header.h的swift桥接文件,选择创建
  3. 在xxx-Bridging-Header.h添加Supporting Files中的.h文件 这里是Charts.h

  4. command + b编译,这个时候xcode会自动生成一个 ChartsDemo-Swift.h ChartsDemo为你的xcode项目名, 在需要使用到charts的地方,#import <ChartsDemo-Swift.h>即可使用swift中方法和类了

  5. 修改charts中源码,再command+b xcode又会生产一份新的ChartsDemo-Swift文件 大工告成

  6. 使用

可能遇到的问题:

  1. 需要设置defines module为YES网的很多答案中都提到了这个一点,如果出现一些问题,可以尝试设置一下,具体位置(我暂时没有发现设置这个属性设置YES or NO的区别)

  2. 提示swift版本过低

  3. 添加swift文件时并不主动提示创建桥接文件(一般比老一点的项目好像都会不提示),这个时候就需要手动创建桥接文件了(xxx-Bridging-Header.h)
    • 创建header file文件
    • 命名header file文件名 如果我的工程target名叫TKDemo,所以这里就创建TKDemo-Bridging-Header文件名
    • 设置TKDemo-Bridging-Header在项目中的路径 如图位置(路径根据桥接文件的实际位置来设置) 注意

最新文章

  1. 《JavaScript语言精粹》—— 读书总结
  2. HTTP协议(二):header标头说明
  3. Java中Properties类知识的总结
  4. ubutu安装搜狗
  5. 进程&amp;线程 同步异步&amp;阻塞非阻塞
  6. Easyui 关闭弹出框后还显示验证提示信息
  7. db2 表授权语句
  8. esxi安装全过程及基本配置
  9. VMware Workstation 10.0.0.1295980 CN
  10. htmlcss笔记--标签默认值样式重置css reset(2)
  11. 《java编程思想》--多线程基础--Runnable
  12. 【转】如何检测wifi信号强度? -- 不错
  13. OpenCV成长之路:直线、轮廓的提取与描述
  14. Sphinx配置过程
  15. PHP不使用array_merge函数实现一维数组合并
  16. CefSharp的一些初始化操作
  17. .NET界面控件DevExpress全新发布v18.2.6|附下载
  18. python中的命名元组namedtuple
  19. 2018年全国多校算法寒假训练营练习比赛(第四场)B:道路建设
  20. getpass

热门文章

  1. 教你搭建基于typescript的vue项目
  2. python format格式化函数用法
  3. ConditionalOnProperty的使用
  4. Gcd HDU - 6545 (基础数论)
  5. exe远程注入线程xp
  6. PCRE does not support \L, \l, \N{name}, \U, or \u...
  7. 上传大文件(100G)的解决方案
  8. Kendo UI使用教程:入门指南
  9. linux 环境下安装MySQL5.7(yum)
  10. python tkinter菜单