GitLab创建的私有库注意点
1.通过pod lib create xxx(可以是私有库名)
选择编程语言
What language do you want to use?? [ Swift / ObjC ]
Objc
在你的项目中是否创建一个demo工程,为了方便测试,我选择了Yes
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 ]
Yes
类前缀名
What is your class prefix?
文件前缀(根据需求写)
2.打开工程里面的xxx. podspec文件
Pod::Spec.new do |s|
s.name = 'KDWebViewJavascriptBridgeSDK'
s.version = '0.0.4'
s.summary = 'A short description of KDWebViewJavascriptBridgeSDK.'
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage = 'xxxxx随便写'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = 可以使用默认的
s.source = { :git => '刚才所创建的工程,在git上面的地址,如:xxxxx.git', :tag => s.version.to_s }
s.pod_target_xcconfig = { 'VALID_ARCHS' => 'x86_64 armv7 arm64' }
s.ios.deployment_target = '12.0'
s.source_files = '私有库名字/Classes///' (这里需要注意一下⚠️:私有库代码一般会放在Classes下面,这边的路径一定要是最深的路径,不然会出现⚠️The source_files
pattern did not match any file.)
s.resource_bundles = {
'私有库名字' => ['私有库名字/Assets/'] (可以使用xib)
}
s.public_header_files = ''(暴露的头文件,可以不用,根据需求)
s.dependency "AFNetworking", "4.0.1" //关联的三方库
//s.frameworks = 'UIKit', 'MapKit'
end
3.将代码通过source tree提交到具体的git地址,然后需要打一个tag(注意⚠️:此tag需要和xxx. podspec文件中的s.version相对应)
4.执行pod repo add sepc(私有仓库地址) https://xxxxx.git(私有仓库地址) ,作用是把远程的私有仓库拉下来,然后选中“文件夹”->"前往"->“个人”->".cocoapods"->"repo",可以看到自己下来的sepc(私有仓库),⚠️如果已经存在了或者后期更新版本则可以忽略该步骤(注意⚠️:私有仓库里面可以放多个私有库,这里是指私有仓库地址,并不是⚠️上面的私有库地址,没有私有仓库的话在gitlab上面再建一个)
5.pod repo push sepc(私有仓库地址) ,xxx. podspec文件 将podspec关联代码库和配置仓库(私有仓库里面可以放多个私有库,其中存放的只是私有库的podspec配置信息,并不是私有库代码,通过配置信息可以找到具体的具体代码,可以看xxx. podspec文件中的s.source)
此时如果出现验证失败之类的信息(只有warning,没有error),可以在后面加上--sources='https://xxxx(私有仓库地址).git,https://cdn.cocoapods.org' --allow-warnings
pod repo push sepc(私有仓库地址) --sources='https://xxxx(私有仓库地址).git,https://cdn.cocoapods.org' --allow-warnings