美文网首页
私有库podspec文件的编写

私有库podspec文件的编写

作者: William__Lu | 来源:发表于2019-03-27 10:46 被阅读0次

    Pod::Spec.new do |s|
    s.name = 'SPEC_NAME' # pod名,一般与仓库名相同
    s.version = '1.0.0' # 版本号
    s.summary = <<-DESC # 简介
    简介写在这里,一般不超过140个英文字符
    DESC
    s.description = <<-DESC # 详细介绍
    详细介绍写在这里
    DESC
    s.homepage = 'https://git.yourcompany.com/iOSPods/SPEC_NAME' # 项目仓库地址
    s.license = { :type => 'yourcompanyLicense', :file => 'LICENSE' } # 协议,这种方式必须包含协议文件LICENSE
    s.author = { 'yourcompany' => 'yourcompany-ios@yourcompany.com' } # 作者联系方式,固定不改变
    s.source = { :git => 'git@git.yourcompany.com:iOSPods/SPEC_NAME.git', :tag => s.version} # git地址和tag
    s.frameworks = 'Foundation', 'UIKit' # 使用的系统framework
    s.weak_frameworks = 'WebKit', 'UserNotifications' # 使用高版本iOS系统才有的framework, optional导入
    s.libraries = 'z', 'sqlite3' # 如:使用系统的libz.tbd,libsqlite3.tbd
    s.vendored_frameworks = '/.framework' # 如果项目中有包含framework,使用 vendored_frameworks
    s.vendored_libraries = '
    /.a' # 如果项目中有包含.a,使用 vendored_libraries
    s.source_files = 'Folder//.{h,m}' # 源文件目录, ** 代表所有Folder的子目录, .{h,m} 代表所有以 .h 和 .m 结尾的文件
    s.public_header_files = 'Folder/
    /.h' # public 的头文件,不写默认为源文件中所有的.h文件
    s.pod_target_xcconfig = {'ENABLE_BITCODE' => 'NO'} # 设置 pod 中该 target 的 Build Setting, 选择使用, key 为 project.pbxproj 中 buildSettings 的 key
    s.user_target_xcconfig = {'OTHER_LDFLAGS' => '-lstdc++ -ObjC'} # 设置使用该库主工程的 target 的 Build Setting, 选择使用, key 为 project.pbxproj 中 buildSettings 的 key
    s.xcconfig = {'OTHER_CFLAGS' => '-DMAGICKCORE_HDRI_ENABLE=0', 'OTHER_LDFLAGS' => '-lstdc++'} # 设置本 target 和使用的 target 的 Build Setting, 选择使用, key 为 project.pbxproj 中 buildSettings 的 key
    # 资源文件,png, xib, storyboard, plist等非编译的资源文件都写在这里, 不要将info.plist放进去,有些项目可能会有问题
    s.resources = 'Folder/
    /.{png,xib,plist}'

    s.exclude_files             = '**/*.md', '**/LICENSE'    # 同时导入的文件,不参与编译不参与拷贝,但是会同时下载到项目中
    s.dependency 'YYModel', '~> 1.0'  # 依赖1,直接写依赖的 pod 名称
    s.dependency 'YYCache', '~> 1.0'  # 依赖2,直接写依赖的 pod 名称
    
    s.requires_arc              = true        # 是否使用ARC, 默认为true
    s.static_framework          = true        # 是否使用静态的framework,如果必须使用静态的framework,则设置为true,否则不设置,不要强制用户设置静态库
    
    s.ios.deployment_target     = '9.0'       # 支持的iOS系统版本
    
    # 如果需要创建子spec,使用这种方式,但必须保证每个子spec都可以单独编译
    # pod不会按照原先的文件目录进行导入,如果想让pod中按目录显示,必须使用子spec方式
    s.subspec 'SUB_SPEC_NAME' do |ss|
        ss.dependency 'YYCache', '~> 1.0' # 依赖1,直接写依赖的 pod 名称
        ss.source_files         = 'SubSpecFolder/**/*.{h,m}'
        ss.public_header_files  = 'SubSpecFolder/**/*.h'
        ss.exclude_files        = 'SubSpecFolder/**/*.md'
        ss.resources            = 'SubSpecFolder/**/*.{png,xib,plist}'
    end
    

    end

    相关文章

      网友评论

          本文标题:私有库podspec文件的编写

          本文链接:https://www.haomeiwen.com/subject/shwavqtx.html