OC Swift混编注意点

随着 Swift 的流行,各种神奇的库也开始有对应的 Swift 版本了,但是在导入的过程中需要有一些注意点。不然的话。他会报错,把你搞的很无奈。

第一步

首先在你的项目中任意创建一个 Swift 文件,这个文件是一个桥接文件

nIVNZne.png!web.png

点击Create Bridge Header

然而如果手贱点了 Don’t create ,那以后不管你创建再多的 Swift 文件,它都不会问你了。不过,这当然是有手动操作的途径

1、手动创建一个头文件,名字叫 Your_Product_Module_Name-Bridging-Header.h ,注意不是 Project_Name 。
2、确保你的项目目录下至少有一个 Swift 文件。
3、确保在 Targets 的 Build Settings 里, Product Module Name 是有值的。(如果没有,直接设置为 $(PRODUCT_NAME) 就可以了)
4、将 Project 的 Build Settings 里的 Defines Modules 设置为 Yes 。(如果项目里没有创建过 Swift 文件的话,这个设置可能是不可见的)
配置完成!进入代码环节!

第二步

使用CocoaPods导入

在使用的使用,一定要加这句话

use_frameworks!
2BDCB612-5D68-4A8E-9160-C3145393C423.png

这是告诉 CocoaPods:“请把我要用到的第三方库用动态框架的形式集成进来”。因为 Apple 不允许开发者构建内含 Swift 代码的静态库,所以要往 OC 项目中集成第三方 Swift 代码的时候就只能通过动态框架( framework )的形式了。

如果不添加,在使用终端导入的时候会报这个错误

8E8B0B85-7598-4DA6-A30B-594332800344.png

[!] Pods written in Swift can only be integrated as frameworks; add use_frameworks! to your Podfile or target to opt into using it. The Swift Pods being used are: ReactiveCocoa, ReactiveSwift, and Result

手动导入

手动导入请参考这里

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,308评论 4 61
  • 1.背景 外包项目(OC)交接完毕,需要把另一个swift的项目的部分(很多)页面加入到这个外包项目中。有两种解...
    蓝摇扼剑阅读 7,528评论 0 1
  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,700评论 0 39
  • 有一天在洗澡的时候, 突然想起来一个问题, 人生, 是一个项目吗? 连洗个澡都这么折腾的我, 寻著这个思路, 开始...
    雷小二阅读 6,800评论 0 4
  • 最好的爱情大概是、 我崇拜你像个英雄、你宠爱我像个孩子。
    SonamPalyang阅读 897评论 0 1