View
4.653
Download
0
Category
Preview:
Citation preview
☙ COCOAPODS ❧for private libraries
Adrien Humilière - Captain Train
Cocoaheads Paris, 11/02/2016
☙ Cocoapods? ❧ Cocoaheads Paris, 11/02/2016
Dependency manager
Cocoaheads Paris, 11/02/2016
+ 3000 pods
Cocoaheads Paris, 11/02/2016
platform :ios, '8.0'
target 'App' do pod 'Alamofire', '~> 3.1.0'end
Cocoaheads Paris, 11/02/2016
$ pod install$ open App.xcworkspace
Cocoaheads Paris, 11/02/2016
☙ Private pods ❧ Cocoaheads Paris, 11/02/2016
1 Create a Pods repository
Cocoaheads Paris, 11/02/2016
Cocoaheads Paris, 11/02/2016
$ pod repo add adhumi git@github.com:adhumi/podspecs.git
Cocoaheads Paris, 11/02/2016
✓
Cocoaheads Paris, 11/02/2016
2 Make a Pod
Cocoaheads Paris, 11/02/2016
$ cd MyPrivateLibrary$ pod create spec MyPrivateLibrary
Cocoaheads Paris, 11/02/2016
Pod::Spec.new do |s| s.name = "MyPrivateLibrary" s.version = "1.0.0" s.summary = "Lorem ipsum dolor sit amet."
[...]end
Cocoaheads Paris, 11/02/2016
$ pod repo push adhumi MyPrivateLibrary.podspec
Cocoaheads Paris, 11/02/2016
✓
Cocoaheads Paris, 11/02/2016
3 Use my private pod
Cocoaheads Paris, 11/02/2016
platform :ios, '8.0'
target 'App' do pod 'Alamofire', '~> 3.1.0' pod 'MyPrivateLibrary'end
Cocoaheads Paris, 11/02/2016
$ pod installUpdating local specs repositories
Analyzing dependencies[!] Unable to find a specification for `TSPTableView`
Cocoaheads Paris, 11/02/2016
source 'git@github.com:adhumi/podspecs.git'source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'App' do pod 'Alamofire', '~> 3.1.0' pod 'MyPrivateLibrary'end
Cocoaheads Paris, 11/02/2016
$ pod installUpdating local specs repositories
Analyzing dependenciesDownloading dependenciesInstalling Alamofire (3.1.7)Installing MyPrivateLibrary (0.0.1)Generating Pods projectIntegrating client project
[!] Please close any current Xcode sessions and use `App.xcworkspace` for this project from now on.
Cocoaheads Paris, 11/02/2016
✓
Cocoaheads Paris, 11/02/2016
4 Develop a private library
Cocoaheads Paris, 11/02/2016
target 'App' do pod 'Alamofire', '~> 3.1.0' pod 'MyPrivateLibrary', :path => '~/MyPrivateLibrary'end
Cocoaheads Paris, 11/02/2016
$ pod update
Cocoaheads Paris, 11/02/2016
Cocoaheads Paris, 11/02/2016
…Cocoaheads Paris, 11/02/2016
$ vim MyPrivateLibrary.podspec$ git commit$ git tag 1.0.1$ git push$ pod repo push adhumi MyPrivateLibrary.podspec
Cocoaheads Paris, 11/02/2016
target 'App' do pod 'Alamofire', '~> 3.1.0' pod 'MyPrivateLibrary'end
$ pod update
Cocoaheads Paris, 11/02/2016
✓
Cocoaheads Paris, 11/02/2016
☙ Why? ❧Cocoaheads Paris, 11/02/2016
Internal Libs
Cocoaheads Paris, 11/02/2016
Forked external Libs
Cocoaheads Paris, 11/02/2016
External Libs withno Cocoapods support
Cocoaheads Paris, 11/02/2016
☙ Tips ❧Cocoaheads Paris, 11/02/2016
HTTP vs. SSH
Cocoaheads Paris, 11/02/2016
--allow-warnings--use-libraries
Cocoaheads Paris, 11/02/2016
Thanks :-)Cocoaheads Paris, 11/02/2016
Questions ?captaintrain.com/jobs
Cocoaheads Paris, 11/02/2016
@adhumiadhumi@captaintrain.com
Cocoaheads Paris, 11/02/2016
Recommended