podspec 文件解释

来源:互联网 发布:潇湘馆的竹叶 知乎 编辑:程序博客网 时间:2024/06/07 09:13


还有一篇博客是如何发布自己的开源框架到CocoaPods。

地址: http://www.cocoachina.com/ios/20160301/15459.html



下面是解释参数

Pod::Spec.new do |s|


  s.name         = "库的名称"

  s.version      = "库的版本"

  s.summary      = "简单的介绍"


  s.description  = <<-DESC

(这里面写描述信息)

                   DESC


  s.homepage     = "代码主页地址例如:https://github.com/Test/"

  # s.screenshots  = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"



  # ―――  Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Licensing your code is important. See http://choosealicense.com for more info.

  #  CocoaPods will detect a license file if there is a named LICENSE*

  #  Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'.

  #  在github上建立代码仓库时,选择的授权方式


  s.license      = "MIT"

  # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }



  # ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Specify the authors of the library, with email addresses. Email addresses

  #  of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also

  #  accepts just a name if you'd rather not provide an email address.

  #

  #  Specify a social_media_url where others can refer to, for example a twitter

  #  profile URL.

  #  s.author 授权用户,  s.authors多人授权


  s.author             = { "hushuangfei" => "ioshsf@foxmail.com" }

  # Or just: s.author    = "hushuangfei"

  # s.authors            = { "hushuangfei" => "ioshsf@foxmail.com" }

  # s.social_media_url   = "http://twitter.com/hushuangfei"


  # ――― Platform Specifics――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  If this Pod runs only on iOS or OS X, then specify the platform and

  #  the deployment target. You can optionally include the target after the platform.

  #


  # s.platform     = :ios


  s.platform     = :ios, "8.0"


  #  When using multiple platforms

  # s.ios.deployment_target = "5.0"

  # s.osx.deployment_target = "10.7"

  # s.watchos.deployment_target = "2.0"

  # s.tvos.deployment_target = "9.0"



  # ――― Source Location―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Specify the location from where the source should be retrieved.

  #  Supports git, hg, bzr, svn and HTTP.

  #  数据源对于很多第三方库而言,在发布的时候都会打上一个tag,如版本0.0.1就会打上一个名为0.0.1的tag,你也可以选择一个最新的commit来作为该库0.0.1版的代码


  s.source       = { :git => "http://EXAMPLE/TestPod.git", :tag => "#{s.version}" }



  # ――― Source Code―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  CocoaPods is smart about how it includes source code. For source files

  #  giving a folder will include any swift, h, m, mm, c & cpp files.

  #  For header files it will include any header in the folder.

  #  Not including the public_header_files will make all headers public.

  #  工程根目录下的文件夹才是库的原代码目录。举例子: 目录的层级关系一定要跟代码库的保持一致


  s.source_files  = "Classes", "Classes/**/*.{h,m}"

  s.exclude_files = "Classes/Exclude"


  # s.public_header_files = "Classes/**/*.h"



  # ――― Resources―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  A list of resources included with the Pod. These are copied into the

  #  target bundle with a build phase script. Anything else will be cleaned.

  #  You can preserve files from being cleaned, please don't preserve

  #  non-essential files like tests, examples and documentation.

  #


  # s.resource  = "icon.png"

  # s.resources = "Resources/*.png"


  # s.preserve_paths = "FilesToSave", "MoreFilesToSave"



  # ――― Project Linking―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  Link your library with frameworks, or libraries. Libraries do not include

  #  the lib prefix of their name.

  #   声明了所依赖的核心库


  # s.framework  = "SomeFramework"

  # s.frameworks = "SomeFramework", "AnotherFramework"


  # s.library   = "iconv"

  # s.libraries = "iconv", "xml2"



  # ――― Project Settings――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  #

  #  If your library depends on compiler flags you can set them in the xcconfig hash

  #  where they will only apply to your library. If you depend on other Podspecs

  #  you can include multiple dependencies to ensure it works.


  # s.requires_arc = true  #是否支持arc模式。


  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }

  # s.dependency "JSONKit", "~> 1.4"  #依赖的其它框架


end

0 0