cocoapods for private libraries

Post on 23-Jan-2018

4.651 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

☙ 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

top related