1、命令创建pod

pod lib create pod的名字

2、根据指令依次填写信息

3、填写完成后会自动打开项目 、然后修改podspec文件即可

4、创建当前pod的git 仓库、将当前代码放入仓库 并打上和spec中version 对应的tag

git remote add origin 仓库地址
git add .
git commit -m "install commit"
git push -u origin master
git tag 0.1.0
git push --tags

4、创建一个pod 索引的git仓库

将索引仓库添加到本地

pod repo add demoSpecs git地址

4、检测一下当前编写的sepc 并提交到索引库

pod lib lint 本地检测
pod spec lint 远端检测
pod repo push demoSpecs testPod.podspec

5、远端索引库里面已经有了当前的0.1.0的 testPod了 然后在项目中使用编写 podfile

source  'https://github.com/CocoaPods/Specs.git'
source 索引库地址
use_frameworks! platform :ios, '9.0' target 'testPod_Example' do
pod 'testPod' end

5、如果pod中使用了到了自己的私有库 校验的时候 需要加上校验sources路径 多个私有库 , 隔开就好

pod spec lint testPod.podspec  --use-libraries --allow-warnings --sources='私有库地址.git','https://github.com/CocoaPods/Specs.git'

6、如果pod仓库是oc、Swift混编

需要创建一个public_header的oc文件 在里面添加项目需要共同访问的头文件 这和项目的桥接文件功能一样 然后podspec中设置公开文件为当前文件   ** ** 注意桥接文件一定要是oc并且是继承于NSObject

7、pod项目中如果要使用其他的pod文件 但当前pod又没对其添加依赖 值需要配置 FRAMEWORK_SEARCH_PATHS 例如 pod中想使用 MBProgressHUD

  search_paths = [
#Podfile使用指定路径链接
'${PODS_CONFIGURATION_BUILD_DIR}/podChatLibrary',
'${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD'
]
s.pod_target_xcconfig = {
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
'FRAMEWORK_SEARCH_PATHS' => search_paths,
}

8、pod中如果要使用.xcassets

podspec中添加    s.resource_bundle = { 'test' => ['testPod/Assets/**.xcassets'] }

代码里面获取图片如下

func getImage(_ imageName: String) -> UIImage? {
// test 为pod 中resourcebundle中设置的名字
let imageBundleURL = Bundle.main.url(forResource: "test", withExtension: "bundle")
let imgBundle = Bundle(url: imageBundleURL!)
let img = UIImage(named: imageName, in: imgBundle, compatibleWith: nil)
return img
}

9、依赖其他库如果 执行报错

The ‘Pods-XXX‘ target has transitive dependencies that include statically linked binaries:
(/Users/XXXX/XXXX/XXXX/XXXX.framework)

在podfile最后加入下面的代码

pre_install do |installer|
# workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end

demo地址https://github.com/1401788197/Modularization

最新文章

  1. js版扫雷(可直接运行试玩)
  2. PHP实现简易blog
  3. [USACO2005][POJ3169]Layout(差分约束)
  4. Java for LeetCode 036 Valid Sudoku
  5. oracle_partition sample
  6. struct和class 区别
  7. hdu 3290 (简单dfs)
  8. servlet规范核心类图
  9. ubuntu忽然不能登录,输入密码正确一直返回登录界面
  10. 判断字符串中是否包含指定的内容&&字符串截取方法比较说明
  11. Android 常见 Memory Leak 原因及解决办法总结
  12. ACM中常见错误对应表
  13. HDFS(数学题)
  14. tf.contrib.slim.data数据加载(1) reader
  15. mysql百万级全文索引及match快速查找
  16. MySQL报错总结
  17. C/C++预处理器
  18. Java知识点ArrayList
  19. 【maven】maven查看项目依赖并解决依赖冲突的问题
  20. Java第14章笔记

热门文章

  1. 51NOD5213A 【提高组/高分-省选预科 第一场【M】】序列
  2. Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践
  3. Go读取yaml文件到struct类
  4. 刷题笔记——3002.买图书 & 2763.计算(a+b)/c的值
  5. Java基础学习笔记-流程控制
  6. angular小练习--手写弹出窗口以及文件上传或者复制粘贴,后读取打印文件内容
  7. chrome实现下载文件JS代码弹出'另存为'窗口
  8. final关键字用于修饰成员方法-final关键字用于修饰局部变量
  9. 重拾prometheus
  10. wsl 更新到D盘