使用Cocopods新建pod项目

使用Cocopods新建项目流程:

一、创建项目

使用pod lib create TestProj创建TestProj项目。
系统会提示你以下几个问题:

What language do you want to use?? [ Swift / ObjC ] ///< 工程语言,根据需要输入Swift或ObjC

Would you like to include a demo application with your library? [ Yes / No ] ///< 是否有Demo程序,可以根据需要输入Yes

Which testing frameworks will you use? [ Specta / Kiwi / None ] ///< 是否有测试框架,可以根据需要输入None

Would you like to do view based testing? [ Yes / No ] ///< 是否需要UI测试,可以根据需要输入No

What is your class prefix? ///< Demo工程里类名前缀,可以输入自己或公司标志做为前缀

二、配置Podspec文件

Podspec为pod工程的配置文件,可以根据如下方式进行配置。或者参考官方说明

Pod::Spec.new do |s|
  #s.name = 'TestProj'
  s.name = <#ChangeValue#>
  
  # 版本号
  # s.version = '1.0.0'
  s.version = <#ChangeValue#> 
  
  # 作者信息(需要适配)
  #s.author  = { 'BlueMap' => '[email protected]' } 
  s.author  = <#ChangeValue#>
  
  # 工程主页(需要适配)
  # s.homepage  = '项目主页,如:https://github.com/rs/SDWebImage'
  s.homepage  = <#ChangeValue#>
  
  # s.summary = '项目简介.'
  s.summary = <#ChangeValue#>
  # s.description = '项目详细描述'
  s.description = <#ChangeValue#>
  s.license = {
    :type => 'Copyright',
    :text => <<-LICENSE
              BlueMap copyright
    LICENSE
  }
    
  # 支持平台
  s.platforms = { :ios => "7.0" } 
  
  # 依赖系统Library(需要适配!‘,’分隔)
  # s.libraries = 'z'   
  
  # 依赖系统Framework(需要适配!‘,’分隔)
  # s.frameworks = 'UIKit', 'MapKit' 
  
  # 依赖第三方Library(需要适配!‘,’分隔)
  # s.vendored_libraries = 'xxx.a'
  
  # 依赖第三方Framework(需要适配!‘,’分隔)
  # s.vendored_frameworks = 'xxx.framework'

  # 工程地址(需要适配)
  # s.source = { :git => 'https://github.com/rs/SDWebImage.git', :tag => s.version.to_s }
  s.source = <#ChangeValue#>   
  
  # 公开头文件(需要适配)
  # s.public_header_files = 'TestProj/Classes/**/*.h'
  s.public_header_files = <#ChangeValue#>
  
  # 公开源码文件(需要适配)
  # s.source_files = 'TestProj/Classes/**/*'
  s.source_files = <#ChangeValue#>
  
  # ARC属性(需要适配)
  # s.requires_arc = false
  s.requires_arc = <#ChangeValue#>
  #指定依赖,可以连续指定多个依赖
  #s.dependency 'AFNetworking', '~> 3.0'
  #s.dependency 'NSData+Base64', '~> 1.0.0'
  
  # xcconfig配置(需要适配)
  s.pod_target_xcconfig = {
    # 'ALWAYS_SEARCH_USER_PATHS'=>'NO',
    # 'CLANG_CXX_LANGUAGE_STANDARD'=>'gnu++0x',
    # 'CLANG_CXX_LIBRARY'=>'libc++',
    # 'GCC_C_LANGUAGE_STANDARD'=>'gnu11',
    # 'CLANG_ENABLE_MODULES'=>'YES',
    # 'ENABLE_BITCODE'=>'NO',
    # 'GCC_ENABLE_CPP_EXCEPTIONS'=>'NO',
    # 'GCC_WARN_ABOUT_RETURN_TYPE'=>'YES',
    # 'GCC_PREPROCESSOR_DEFINITIONS'=>'$(inherited) NDEBUG=1 DNS_BLOCK_ASSERTIONS=1 NS_BLOCK_ASSERTIONS=1',
    # 'ONLY_ACTIVE_ARCH'=>'NO',
    # 'GCC_OPTIMIZATION_LEVEL'=>'3',
    # 'GCC_INLINES_ARE_PRIVATE_EXTERN'=>'YES',
    # 'GCC_SYMBOLS_PRIVATE_EXTERN'=>'YES',
    # 'ENABLE_NS_ASSERTIONS'=>'NO'
    ############### DEBUG Macro Define ###############
    # 'GCC_PREPROCESSOR_DEFINITIONS'=>'$(inherited) DEBUG=1 _DEBUG=1',
    # 'ONLY_ACTIVE_ARCH'=>'YES',
    # 'GCC_OPTIMIZATION_LEVEL'=>'0',
    # 减少代码体积
    # 'GCC_INLINES_ARE_PRIVATE_EXTERN'=>'NO',
    # 'GCC_SYMBOLS_PRIVATE_EXTERN'=>'NO',
    # 'ENABLE_NS_ASSERTIONS' => 'YES',
  }
  
end

三、测试Example工程

如果第一步我们选择创建“demo application”,那么生成的目录下会有一个Example子工程。
使用如下命令初始化Example子工程

cd Example路径  命令来切换目录
pod install

如果成功,则目录下会生成.workspace文件,打开该文件进行编译,如果编译成功,说明该子项目创建成功。
如果需要增删改子工程代码,则可以定位到前面s.source_files 配置的目录下,进行文件编辑操作,完成代码的增删改。

四、提交代码到仓库

  • 创建一个git仓库,可以选择在github上创建公共仓库也可以bitbucket创建私有仓库
  • CD到pod lib create目录
  • git remote add origin git路径将本地仓库映射到远程地址。如:git remote add origin https://[email protected]/bluemapstudio/TestProj.git
  • 分别执行git add *\git commit -a\git push origin master三条命令,将本地仓库文件上传到服务端
    注:在执行git push origin master的时候可能会碰到“fatal: refusing to merge unrelated histories”错误,如果碰到该错误则先执行git pull origin master --allow-unrelated-histories,然后再执行git push origin master命令
    如此,cocoapods创建子项目工作完成。
    其它项目需要使用该子项目时可以通过在Podfile中进行类似配置来集成:
pod 'TestProj', :git=>'https://github.com/rs/SDWebImage.git', :tag=>'1.0.0'

你可能感兴趣的:(使用Cocopods新建pod项目)