美文网首页
将自己的pod发布到CocoaPod Swift版

将自己的pod发布到CocoaPod Swift版

作者: MrDarren | 来源:发表于2019-01-12 16:18 被阅读0次

    Swift 建立自己的 CocoaPod 库与平时用 OC 建立 CocoaPod 库的方式并不一致。

    因为 Swift,它是不支持编译为静态库的。所以,想正确建立自己的 swift cocoaPod 库需要建立一个 Cocoa Touch Framework。

    Xcode 为我们准备了 framework target 的模板,直接创建这个 target,就可以开始编写框架了。

    1、首先是创建 Cocoa Touch Framework

    2、在对应的目录下加入对应的文件,同时设置对应的iOS版本

    这里有个小问题,因为在发布到pod时,基本都是会在工程目录创建一个Source文件夹,用来放所有要上传的文件,而如果创建了新的framework,则会在工程目录下创建新的文件夹,比如上面的操作会在工程目录下创建一个ZQAlertController的文件夹,因此需要统一下,即工程目录下只有Source文件夹,同时工程又能正常运行,需要执行以下操作

    1) 将ZQAlertController文件里的文件拷贝放到Source文件夹里,在Xcode工程,ZQAlertController目录下删除相应的文件

    2)将工程中的ZQAlertController和ZQAlertController.framework关联到Source文件夹,操作如下

    同样的操作,将工程目录下的ZQAlertController文件夹关联到Source文件夹,然后,再加Source目录下的文件重新add进入项目中的ZQAlertController文件夹目录下,这时候,如果运行,是会报错,因为重新添加了文件到ZQAlertController.framework,因此需要重新设置加入文件的权限

    然后运行,还会报错,找不到info.plist文件,同样是因为重新挪动了ZQAlertController.framework,造成,只需在ZQAlertController.framework的General下选择好对应的info.plist即可,这时候重新command + r就能成功运行工程了

    注意:

    OC有.h文件,可以直接用,swift默认访问级别internal,internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。

    如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。所以要用public 修饰需要引用的类.(public

    可以被任何人访问。但其他module中不可以被override和继承,而在module内可以被override和继承。)需要暴露的接口或者属性要用public修饰,extension里面的方法都要用public

    3、接下来的步骤就跟oc下发布pod一样的,可以参考博主的另一篇博客

    将自己的pod发布到CocoaPod - 简书

    相关文章

      网友评论

          本文标题:将自己的pod发布到CocoaPod Swift版

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