platform :ios, '8.0'
target 'App' do
pod 'Alamofire', '~> 3.1.0'
end
Cocoaheads Paris, 11/02/2016
Slide 6
Slide 6 text
$ pod install
$ open App.xcworkspace
Cocoaheads Paris, 11/02/2016
Slide 7
Slide 7 text
☙ Private pods ❧
Cocoaheads Paris, 11/02/2016
Slide 8
Slide 8 text
1 Create a Pods repository
Cocoaheads Paris, 11/02/2016
Slide 9
Slide 9 text
Cocoaheads Paris, 11/02/2016
Slide 10
Slide 10 text
$ pod repo add adhumi git@github.com:adhumi/podspecs.git
Cocoaheads Paris, 11/02/2016
Slide 11
Slide 11 text
✓
Cocoaheads Paris, 11/02/2016
Slide 12
Slide 12 text
2 Make a Pod
Cocoaheads Paris, 11/02/2016
Slide 13
Slide 13 text
$ cd MyPrivateLibrary
$ pod create spec MyPrivateLibrary
Cocoaheads Paris, 11/02/2016
Slide 14
Slide 14 text
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
Slide 15
Slide 15 text
$ pod repo push adhumi MyPrivateLibrary.podspec
Cocoaheads Paris, 11/02/2016
Slide 16
Slide 16 text
✓
Cocoaheads Paris, 11/02/2016
Slide 17
Slide 17 text
3 Use my private pod
Cocoaheads Paris, 11/02/2016
Slide 18
Slide 18 text
platform :ios, '8.0'
target 'App' do
pod 'Alamofire', '~> 3.1.0'
pod 'MyPrivateLibrary'
end
Cocoaheads Paris, 11/02/2016
Slide 19
Slide 19 text
$ pod install
Updating local specs repositories
Analyzing dependencies
[!] Unable to find a specification for `TSPTableView`
Cocoaheads Paris, 11/02/2016
Slide 20
Slide 20 text
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
Slide 21
Slide 21 text
$ pod install
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing Alamofire (3.1.7)
Installing MyPrivateLibrary (0.0.1)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use
`App.xcworkspace` for this project from now on.
Cocoaheads Paris, 11/02/2016
Slide 22
Slide 22 text
✓
Cocoaheads Paris, 11/02/2016
Slide 23
Slide 23 text
4 Develop a private library
Cocoaheads Paris, 11/02/2016
Slide 24
Slide 24 text
target 'App' do
pod 'Alamofire', '~> 3.1.0'
pod 'MyPrivateLibrary', :path => '~/MyPrivateLibrary'
end
Cocoaheads Paris, 11/02/2016
Slide 25
Slide 25 text
$ pod update
Cocoaheads Paris, 11/02/2016
Slide 26
Slide 26 text
Cocoaheads Paris, 11/02/2016
Slide 27
Slide 27 text
…
Cocoaheads Paris, 11/02/2016
Slide 28
Slide 28 text
$ vim MyPrivateLibrary.podspec
$ git commit
$ git tag 1.0.1
$ git push
$ pod repo push adhumi MyPrivateLibrary.podspec
Cocoaheads Paris, 11/02/2016
Slide 29
Slide 29 text
target 'App' do
pod 'Alamofire', '~> 3.1.0'
pod 'MyPrivateLibrary'
end
$ pod update
Cocoaheads Paris, 11/02/2016
Slide 30
Slide 30 text
✓
Cocoaheads Paris, 11/02/2016
Slide 31
Slide 31 text
☙ Why? ❧
Cocoaheads Paris, 11/02/2016
Slide 32
Slide 32 text
Internal Libs
Cocoaheads Paris, 11/02/2016
Slide 33
Slide 33 text
Forked external Libs
Cocoaheads Paris, 11/02/2016
Slide 34
Slide 34 text
External Libs with
no Cocoapods support
Cocoaheads Paris, 11/02/2016