美文网首页
OC主工程中的使用Swift编写的SDK,SDK编写时的注意事项

OC主工程中的使用Swift编写的SDK,SDK编写时的注意事项

作者: seasonZhu | 来源:发表于2020-06-08 14:49 被阅读0次

    最近公司准备将自己的产品SDK
    正好研究到如何这种情况,OC主工程,引用Swift编写SDK时候的需要注意哪些,先上代码:

    类的编写

    public class TestUtils: NSObject {
        @objc
        public class func printLog() {
            print("TestUtils 你好世界")
        }
    }
    
    1. 注意不要使用struct,因为OC根本就不认识
    2. 类必须继承NSObject
    3. 类必须使用public修饰
    4. 类的方法使用@objc与public修饰.
    5. 我这使用写的是一个类方法,使用的是class修饰,使用static也是可以的.

    枚举的编写

    @objc
    public enum TestType: Int {
        case a
        case b
        case c
        case d
    }
    

    由于枚举的本质是一种struct,但是注意这个枚举后面raw使用Int,而Int在OC实际是NSInteger,然后这个枚举注意使用@objc与public修饰,那么在OC也可以使用了.
    用于OC的枚举是羸弱的,所以就不要在Swift的枚举中拓展其强大的功能,因为就算你拓展了,桥接到OC中也可能不会有这些功能,甚至桥接不过来.

    另外,在OC主工程中引入Swift编写的SDK后,调用方法的时候,应该会报错,报错大概是这样的:
    Could not find or use auto-linked library 'swiftFoundation'还有类似的大堆,
    在OC主工程中创建一个空的.swift文件,工程会提示创建桥接文件,这样就不会报错了.

    文章参考
    Swift4.0 SDK Framework创建

    相关文章

      网友评论

          本文标题:OC主工程中的使用Swift编写的SDK,SDK编写时的注意事项

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