Skip to content

Examples of specifications

dongle edited this page Jul 13, 2012 · 3 revisions

A Simple specification

Pod::Spec.new do |s|
  s.name         = 'libPusher'
  s.version      = '1.3'
  s.license      = 'MIT'
  s.summary      = 'An Objective-C client for the Pusher.com service'
  s.homepage     = 'https://github.com/lukeredpath/libPusher'
  s.author       = 'Luke Redpath'
  s.source       = { :git => 'git://github.com/lukeredpath/libPusher.git', :tag => 'v1.3' }
  s.source_files = 'Library/*'
  s.requires_arc = true
  s.dependency 'SocketRocket', :git => "git://github.com/square/SocketRocket", :commit => "ec6c145f4a"
end

A specification with subspecs

Pod::Spec.new do |s|
  s.name          = 'ShareKit'
  s.source_files  = 'Classes/ShareKit/{Configuration,Core,Customize UI,UI}/**/*.{h,m,c}', 'Classes/ShareKit/Sharers/Actions/**/*.{h,m,c}'
  # ...

  s.subspec 'Evernote' do |evernote|
    evernote.source_files = 'Classes/ShareKit/Sharers/Services/Evernote/**/*.{h,m}'
  end

  s.subspec 'Facebook' do |facebook|
    facebook.source_files   = 'Classes/ShareKit/Sharers/Services/Facebook/**/*.{h,m}'
    facebook.compiler_flags = '-Wno-incomplete-implementation -Wno-protocol -Wno-missing-prototypes'
    facebook.dependency 'Facebook-iOS-SDK'
  end
  # ...
end

In a podfile require ShareKit result in the inclusion of the whole library, while require ShareKit/Facebook can be used if you are interested only in the Facebook sharer.