美文网首页
CocoaPods库开发入门

CocoaPods库开发入门

作者: 简单点的笨演员 | 来源:发表于2021-01-15 17:53 被阅读0次

    CocoaPods库开发入门

    一、创建CocoaPods库模板项目,以下假如我们的库名为MyLib。

    pod lib create MyLib
    

    接着,CocoaPods会提示我们填写一些信息,根据自己的实际情况来填写,如下:


    当命令执行完毕后,在当前目录自动生成MyLib目录,里面包含我们的库文件和demo等,并且自动打开xcode来打开我们的项目。库模板项目的目录结构,

      MyLib
      ├── .travis.yml
      ├── _Pods.xcproject
      ├── Example    # 示例测试demo目录
      │   ├── MyLib    # 示例测试demo的代码
      │       └── main.[swift/m]
      │       └──  .....
      │   ├── MyLib.xcodeproj
      │   ├── MyLib.xcworkspace
      │   ├── Podfile
      │   ├── Podfile.lock
      │   ├── Pods
      │   └── Tests
      ├── LICENSE
      ├── MyLib.podspec
      ├── MyLib
      │   ├── Assets
      │   └── Classes   # 我们库的代码目录
      │       └── RemoveMe.[swift/m]    # 示例文件需要删除
      └── README.md
    

    CocoaPods创建好库模板项目后,会自动打开xcode。

    二、添加库的代码

    1、添加库的代码
    MyLib/MyLib/Classes/xxx.h

    #import <Foundation/Foundation.h>
    
    @interface xxx: NSObject
    + (NSString*)output:(NSString*)input;
    @end
    
    

    MyLib/MyLib/Classes/xxx.m

    #import "xxx.h"
    
    @implementation xxx
    
    + (NSString*)output:(NSString*)input
    {
        NSLog(@"%s: %@", __func__, input);
        return input;
    }
    
    @end
    

    2、每次添加和删除库的文件,都需要执行

    pod install
    

    3、在example里使用库

    #import <MyLib/xxx.h>
    
    ....
    [xxx output:@"hello world!"];
    

    三、提交代码到GitHub,并且发布一个release,比如 0.1.0

    四、发布库到CocoaPods

    在MyLib的根目录下,执行

    pod lib lint
    

    如果出现下面的warning:

    Validating podspec
     -> MyLib (0.1.0)
        - WARN  | description: The description is shorter than the summary.
        - NOTE  | xcodebuild:  note: Using new build system
        - NOTE  | xcodebuild:  note: Building targets in parallel
        - NOTE  | xcodebuild:  note: Using codesigning identity override: -
        - NOTE  | [iOS] xcodebuild:  note: Planning build
        - NOTE  | [iOS] xcodebuild:  note: Constructing build description
        - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
    
    [!] The spec did not pass validation, due to 1 warning (but you can use `--allow-warnings` to ignore it).
    

    不想改,可以选择忽略它

    pod lib lint --allow-warnings   
    

    成功后,使用下面的命令注册一个CocoaPods账号(换成自己的邮件和名字):

    pod trunk register YOUR_EMAIL YOUR_NAME
    

    接着,CocoaPods会发一封邮件到刚才的邮箱,去点击确认一下,就可以继续下一步了。编辑MyLib.podspec,修改里面的描述和版本号等。改好了后,执行下面的命令发布库到CocoaPods。

    pod trunk push MyLib.podspec
    

    五、在其他项目使用MyLib

    成功发布库到CocoaPods后,在其他项目就像使用其他库一样了,可以在Podfile上添加下面来使用

    pod 'MyLib`
    

    接下来,在其他项目下,终端执行

    pod update
    

    注意:成功发布库到CocoaPods后,CocoaPods需要一些时间同步,上面的命令可能会失败,提示找不到MyLib。这个时候只能等待了。

    相关文章

      网友评论

          本文标题:CocoaPods库开发入门

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