OC Swift混编注意点

作者: SunshineBrother | 来源:发表于2017-03-22 19:52 被阅读82次

    随着 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

    手动导入

    手动导入请参考这里

    相关文章

      网友评论

        本文标题:OC Swift混编注意点

        本文链接:https://www.haomeiwen.com/subject/omcanttx.html