创建自己的 framework ,并上传 pod

本地的 pod 生成 framework

本地的 pod 生成 framework 请前往 https://www.jianshu.com/p/87dbab526deb

生成的 framework 创建上传pod库 .podspec 文件和测试使用

1、pod lib create 库名(HJPodTest) 例如:
 pod lib create  HJPodTest
创建HJPodTest库

创建完成之后的HJPodTest库

创建完成之后的pod库

创建完成之后的podFile文件

创建完成之后的podFile文件

HJPodTest库目录结构

HJPodTest库目录结构

HJPodTest库 的 podspec 文件

podspec 文件

(这里是framework包,可以让使用者不看源码)

2、导入framework文件

在生成的 XXXXX 项目中,找到对应的位置,用 .framework 替换 classes 里的 ReplaceMe.m 文件。

导入framework文件
3、编辑.podspec文件

这里用到了trunk账号,点击trunk账号创建trunk账号;

Pod::Spec.new do |s|
  s.name             = 'XXXXX'
  s.version          = '0.0.1'
  s.summary          = 'A short description of XXXXX.   简介 ,自己填写'
  s.description      = <<-DESC
TODO: Add long description of the pod here. 详情,自己填写
                       DESC
  s.homepage         = 'https://github.com/****'  # 自己的Git 主页
  s.license          = { :type => 'MIT', :file => 'LICENSE' }  # 版本权限
  s.author           = { 'HJ' => '*******@qq.com' }  #  trunk 作者 => trunk  邮箱
  s.source           = { :git => 'https://github.com/*****/XXXXX_HJ.git', :tag => s.version.to_s }
  s.ios.deployment_target = '9.0' # 最低版本
  s.swift_version = '5.0'  #  可选 ,支持的swift 最低版本
  s.static_framework  =  true # 是否是静态库
  s.requires_arc = true  # 是否是 arc 环境
  # s.source_files = 'XXXXX/Classes/**/*'  # 因为是使用 .framework 所以只暴露头文件
  s.vendored_frameworks = ['XXXXX/Classes/XXXXX.framework'] #  .framework 资源路径
  s.resource = 'XXXXX/Classes/XXXXX.framework/Headers'
  # s.resource_bundles = {  # 图片资源
  #   'XXXXX' => ['XXXXX/Assets/*.png']
  # }
  s.public_header_files = 'XXXXX/Classes/**/*.h'  # framework 暴露的头文件
  s.frameworks = 'Foundation', 'CoreFoundation', 'UIKit'  # 依赖的 frameworks
  s.dependency 'YYCache', '1.0.3' # 依赖的 第三方
  s.dependency 'YYModel' # 依赖的 第三方
  s.dependency 'KVOController'# 依赖的 第三方
end
示例图
4、尝试在demo中使用
使用示例

生成的 framework 创建上传到 pod库 并 pod 'XXXXX' 使用

上传pod 可以参照 创建自己的 pod 库 并上传这篇。

中间可能遇到的问题

1、使用framework时遇到的报错 Could not find auto-linked library 'swiftObjectiveC'
报错示例.png

创建一个 *****-Bridging-Header.h 桥接文件 或 创建一个swift 文件自动生成 *****-Bridging-Header.h 桥接文件

参考博客

1、本文档参考博客 iOS 将个人framework上传至私有pod库

你可能感兴趣的:(创建自己的 framework ,并上传 pod)