• podspec文件介绍


    podspec文件是cocopods引入的第三方代码库的配置索引文件

    它的创建命令是:$pod spec create TestFile

    podspec文件的常用配置字段介绍

    Pod::Spec.new do |spec|
      spec.name         = "BottomComponentLib"
      spec.version      = "1.0.0"
      spec.summary      = "底层组件库"
      spec.description  = <<-DESC
                            目前支持的功能有:
                          DESC
      spec.homepage     = "www.baidu.com"
      //框架遵守的开源协议
      spec.license      = 'MIT'
      spec.author       = { "zf" => "1174977961@qq.com" }
      //本地框架文件索引,相对podspec文件的目录
      spec.source       = { :path => 'BottomComponentLib',}
      //远程框架文件索引,可以根据版本号,tag号
      #spec.source       = { :git => "https://github.com/zhfei/BottomComponentLib.git", :commit => "a1a94661"}
      #spec.source       = { :git => "https://github.com/zhfei/BottomComponentLib.git", :tag =>spec.version}
    
      //框架支持的最低平台版本
      spec.platform = :ios, '8.0'
      //同上面功能一样
      spec.ios.deployment_target = '8.0' 
    
      spec.requires_arc = true
      //框架公开的头文件,能够使用<>方法
      spec.public_header_files = 'SRC/**/*.{h}'
      //功能同上
      spec.ios.public_header_files = 'SRC/**/*.{h}'
    
      //框架被引用时,会下载此目录下的文件
      spec.source_files = 'SRC/**/*.{h,m,plist}'
      //框架被引用时,会下载此目录下的资源文件
      spec.resource_bundles = {
         'BottomComponentLib' => [
           'SRC/**/*.{storyboard,xcassets,xib,plist}'
        ]
      }
      //功能同上
      spec.resources    = {
        'yoowei' => ['yoowei/resource/**/*.{storyboard,xcassets,xib,png']
      }
    
      //依赖frameworks
      spec.frameworks ='Foundation', 'CoreGraphics', 'UIKit'
      //依赖libraries
      tdd3.libraries = "xml2"
      //依赖第三方库
      spec.dependency 'AFNetworking', '~> 2.3'
      spec.dependency 'MBProgressHUD'
      spec.dependency 'YYModel'
    
    
      //子目录
      spec.subspec "Object-C" do |oc|
      	oc.source_files = 'SRC/Object-C/*.{h,m}'
    
         
      end
    
      spec.subspec "Swift" do |sf|
      	sf.source_files = 'SRC/Swift/*.{strings}'
      end
    
      spec.subspec "Resouce" do |rs|
      	rs.source_files = 'SRC/Resouce/*.{storyboard,xcassets,xib,plist,strings}'
      end
    
    
      spec.subspec "TestDir2" do |td2|
          //下载HycProject文件夹下AppInfo的.h和.m文件
          td2.source_files = 'HycProject/AppInfo.{h,m}'
          //允许使用import<AppInfo.h>
          td2.public_header_files = 'HycProject/AppInfo.h'
          //依赖的frameworks
          td2.ios.frameworks = 'MobileCoreServices', 'CoreGraphics'
    
          td2.subspec "TestDir3" do |tdd3|
              //最低要求的系统版本7.0
              tdd3.ios.deployment_target = '8.0' 
              //所有文件默认都是private的,只允许使用import"AppInfo.h"访问
              tdd3.ios.private_header_files = 'AppInfo/Info/**/*.h' 
              // 下载路径下的.h/.m/.c文件       
              tdd3.ios.source_files = 'AppInfo/Info/**/*.{h,m,c}' 
              //引用xml2库,但系统会找不到这个库的头文件,需与下方sss.xcconfig配合使用(这里省略lib)
              tdd3.libraries = "xml2"
              //在pod target项的Header Search Path中配置:${SDK_DIR}/usr/include/libxml2
              tdd3.xcconfig = { 'HEADER_SEARCH_PATHS' => '${SDK_DIR}/usr/include/libxml2' }  
              //json目录下的文件不做下载
              tdd3.ios.exclude_files = 'AppInfo/Info/json' 
          end
      end
     end
    
     
  • 相关阅读:
    GraphQL:Descriptor Attributes
    C++ 条件变量
    C++ future
    C++ 互斥
    C++ 通用锁管理
    并发
    C++ 线程
    智能指针
    PMP4.项目整合管理4.7结束项目或阶段
    PMP4.项目整合管理4.5监控项目工作
  • 原文地址:https://www.cnblogs.com/zhou--fei/p/6146974.html
Copyright © 2020-2023  润新知