组件化开发肯定是要将各个模块分开开发,但是不能将代码放到github上,所以就要将各个模块放到本地,每一个业务都要搞成一个pod,方便管理;
下面简单说说如何创建一个私有库,然后通过pod放到我们的项目中
一.创建一个私有库
这里可以使用一个命令行,也可以纯手动创建;
1.1 通过命令行,创建一个模板
pod lib create libraryName
例如
pod lib create WXLibaryLib
//然后会一直等待
Cloning `https://github.com/CocoaPods/pod-template.git` into `WXLibaryLib`.
稍等一下,然后会问问你关于建立库的一些问题
What language do you want to use?? [ Swift / ObjC ]
> Objc
Would you like to include a demo application with your library? [ Yes / No ]
> Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> None
Would you like to do view based testing? [ Yes / No ]
> No
What is your class prefix?
> WX
创建好的模板中有很多的东西,有demo,.podspec文件等等
此时此刻,运行Example内部的项目,即可正常运行
项目内部效果,这个图是Swift,应该是OC的,请自行脑补
然后此时我们去创建一个字符串的分类
.h 文件
#import <Foundation/Foundation.h>
@interface NSString (WXExtension)
/**
拼接两个字符串
@param oneString 第一字符串
@param twoString 第二个字符串
@return 拼接好的字符串
*/
+ (NSString *)wx_appendStringWithOne:(NSString *)oneString
two:(NSString *)twoString;
@end
.m 文件
#import "NSString+WXExtension.h"
@implementation NSString (WXExtension)
+ (NSString *)wx_appendStringWithOne:(NSString *)oneString
two:(NSString *)twoString{
return [oneString stringByAppendingString:twoString];
}
@end
然后去在某个控制器运行它,系统提示我们,没有发现该文件。
这时候,我们只要去用命令行在该文件下,执行以下pod install
即可,然后在运行项目,好了(理论上这一步是不用的,直接运行就能运行起来,但是如果不好使,就直接这样干)
1.2 手动创建
说白了,就是建立一个文件夹,我们要做的lib,然后在这里建立一个Classes文件夹,然后调用touch Person.swift
,生成一个空的文件,然后就好了,接着就是新建一个项目,设置podfile文件,最后pod install一下即可
二.将私有库放置到我们的项目中使用
直接新建一个项目,我的叫做WXUseStringLibDemo
,然后去设置他的pod文件,链接到我们的私有库,只要到库的目录下就行,然后pod install
一下
platform :ios, '9.0'
target 'WXUseStringLibDemo' do
pod 'WXLibaryLib', :path => '/Users/wangxin/WXLibaryLib'
end
配置podfile的时候,找到具体的位置即可
链接到项目中
然后我们就可以自己去使用自己做的东西了,在组件化开发的时候,我们大家可以使用同一个工程,但是彼此做着彼此的模块,开发起来可以避免多人操作一个页面的数据,从而减少了数据错误的情况
特别提示:
今天玩了一会Swift,但是一直有问题,显示没有这个链接,没声明那个类的,巨烦;
还有就是添加了一些新的文件件,跳转整个库的文件位置等;都会出现整个问题
最后发现,只要去pod install
一下就行,还有如果你建的类,它提示没有,你就应该讲你的类前面添加关键字public
就好了,让外界找到他
网友评论