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。这个时候只能等待了。
网友评论