CooCoo
   For
CocoaPods
What are CocoaPods
●   Library dependency management system for
    Objective C Applications
●   Ruby Based
●   Uses spec files to tell what code to download
    and use
Installing pods
●   sudo gem install cocoapods
●   pod setup
Create Podfile
●   vim Podfile          platform :ios
                         pod 'RestKit', '0.10.3'
                         target :test do
                          link_with 'AppnameTests'
                          pod 'Kiwi', '1.1.0'
                         end
Run the Install
●   pod install
●   Open the Workspace created
    –   open appName.xcworkspace
●   Compile the project
Creating a Spec
●   pod spec create <name or git url>
●   Edit spec file
●   pod spec lint <name of spec file>
●   Copy spec to
    ~/.cocoapods/master/<AppName>/<versionNo>
●   Fork github.com/cocoapods/specs and add
    folder as you did on the last step
●   Submit a pull request
Original UrbanAirship Spec
Pod::Spec.new do |s|
 s.name          = 'UrbanAirship-iOS-SDK'
 s.version       = '1.3.3'
 s.license      = 'BSD'
 s.platform      = :ios


 s.summary         = 'A simple way to integrate Urban Airship services into your iOS applications.'
 s.homepage         = 'https://github.com/urbanairship/ios-library'
 s.author       = { 'Urban Airship' => 'support@urbanairship.com' }
 s.source        = { :git => 'https://github.com/urbanairship/ios-library.git', :tag => 'v1.3.3' }


 # Airship ships both UA-prefixed ASI and SBJson, as well as un-prefixed
 # versions that are no longer used in the .xcodeproj.
 files = FileList['Airship/**/*.{h,m,c}']
 files.exclude(//asi-http-request//)
 files.exclude(//json-framework//)
 files.exclude(//google-toolbox-for-mac//)
 s.source_files = files


 s.libraries    = 'z', 'sqlite3.0'
 s.frameworks = 'CFNetwork', 'CoreGraphics', 'Foundation', 'MobileCoreServices',
               'Security', 'SystemConfiguration', 'UIKit', 'CoreTelephony',
               'StoreKit', 'CoreLocation'
end
Modified UrbanAirship Spec
Pod::Spec.new do |s|
 s.name          = 'UrbanAirship-iOS-SDK'
 s.version       = '1.3.3.1'
 s.license      = 'BSD'
 s.platform      = :ios


 s.summary         = 'A simple way to integrate Urban Airship services into your iOS applications.'
 s.homepage         = 'https://github.com/urbanairship/ios-library'
 s.author       = { 'Urban Airship' => 'support@urbanairship.com' }
 s.source        = { :git => 'https://github.com/urbanairship/ios-library.git', :tag => 'v1.3.3' }


 # Airship ships both UA-prefixed ASI and SBJson, as well as un-prefixed
 # versions that are no longer used in the .xcodeproj.
 files = FileList['Airship/**/*.{h,m,c}']
 files = files.exclude(//asi-http-request//)
 files = files.exclude(//json-framework//)
 files = files.exclude(//google-toolbox-for-mac//)
 files = files.exclude(//Reachability.*/)
 files = files.exclude(/miniunz.c/)
 s.source_files = files


 s.libraries    = 'z', 'sqlite3.0'
 s.frameworks = 'CFNetwork', 'CoreGraphics', 'Foundation', 'MobileCoreServices',
               'Security', 'SystemConfiguration', 'UIKit', 'CoreTelephony',
               'StoreKit', 'CoreLocation', 'MessageUI', 'MapKit'
 s.dependency 'Reachability'
end
About Me
●   Allan Davis
●   Email: cajun.code@gmail.com
●   Twitter: @cajun_code

Coocoo for Cocoapods

  • 1.
    CooCoo For CocoaPods
  • 2.
    What are CocoaPods ● Library dependency management system for Objective C Applications ● Ruby Based ● Uses spec files to tell what code to download and use
  • 3.
    Installing pods ● sudo gem install cocoapods ● pod setup
  • 4.
    Create Podfile ● vim Podfile platform :ios pod 'RestKit', '0.10.3' target :test do link_with 'AppnameTests' pod 'Kiwi', '1.1.0' end
  • 5.
    Run the Install ● pod install ● Open the Workspace created – open appName.xcworkspace ● Compile the project
  • 6.
    Creating a Spec ● pod spec create <name or git url> ● Edit spec file ● pod spec lint <name of spec file> ● Copy spec to ~/.cocoapods/master/<AppName>/<versionNo> ● Fork github.com/cocoapods/specs and add folder as you did on the last step ● Submit a pull request
  • 7.
    Original UrbanAirship Spec Pod::Spec.newdo |s| s.name = 'UrbanAirship-iOS-SDK' s.version = '1.3.3' s.license = 'BSD' s.platform = :ios s.summary = 'A simple way to integrate Urban Airship services into your iOS applications.' s.homepage = 'https://github.com/urbanairship/ios-library' s.author = { 'Urban Airship' => 'support@urbanairship.com' } s.source = { :git => 'https://github.com/urbanairship/ios-library.git', :tag => 'v1.3.3' } # Airship ships both UA-prefixed ASI and SBJson, as well as un-prefixed # versions that are no longer used in the .xcodeproj. files = FileList['Airship/**/*.{h,m,c}'] files.exclude(//asi-http-request//) files.exclude(//json-framework//) files.exclude(//google-toolbox-for-mac//) s.source_files = files s.libraries = 'z', 'sqlite3.0' s.frameworks = 'CFNetwork', 'CoreGraphics', 'Foundation', 'MobileCoreServices', 'Security', 'SystemConfiguration', 'UIKit', 'CoreTelephony', 'StoreKit', 'CoreLocation' end
  • 8.
    Modified UrbanAirship Spec Pod::Spec.newdo |s| s.name = 'UrbanAirship-iOS-SDK' s.version = '1.3.3.1' s.license = 'BSD' s.platform = :ios s.summary = 'A simple way to integrate Urban Airship services into your iOS applications.' s.homepage = 'https://github.com/urbanairship/ios-library' s.author = { 'Urban Airship' => 'support@urbanairship.com' } s.source = { :git => 'https://github.com/urbanairship/ios-library.git', :tag => 'v1.3.3' } # Airship ships both UA-prefixed ASI and SBJson, as well as un-prefixed # versions that are no longer used in the .xcodeproj. files = FileList['Airship/**/*.{h,m,c}'] files = files.exclude(//asi-http-request//) files = files.exclude(//json-framework//) files = files.exclude(//google-toolbox-for-mac//) files = files.exclude(//Reachability.*/) files = files.exclude(/miniunz.c/) s.source_files = files s.libraries = 'z', 'sqlite3.0' s.frameworks = 'CFNetwork', 'CoreGraphics', 'Foundation', 'MobileCoreServices', 'Security', 'SystemConfiguration', 'UIKit', 'CoreTelephony', 'StoreKit', 'CoreLocation', 'MessageUI', 'MapKit' s.dependency 'Reachability' end
  • 9.
    About Me ● Allan Davis ● Email: cajun.code@gmail.com ● Twitter: @cajun_code