Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Seeding your library with CocoaPods
Frédéric Maquin
November 26, 2015
Programming
0
540
Seeding your library with CocoaPods
Talk given at CocoaHeads Strasbourg.
Frédéric Maquin
November 26, 2015
Tweet
Share
More Decks by Frédéric Maquin
See All by Frédéric Maquin
ephread
1
120
ephread
0
1.6k
ephread
0
810
Other Decks in Programming
See All in Programming
line_developers_tw2
0
610
yosuke_furukawa
PRO
13
3.6k
fkubota
1
390
tommykw
1
320
shigeruoda
0
460
horie1024
1
340
daiki1020
0
1.1k
pdone
0
210
azdaroth
0
110
hanakla
2
3k
line_developers_tw
0
400
nrslib
20
13k
Featured
See All Featured
chrislema
173
14k
kneath
294
39k
brettharned
93
3k
mongodb
23
3.8k
bryan
100
11k
wjessup
338
16k
andyhume
62
3.3k
deanohume
295
27k
rasmusluckow
318
18k
gr2m
83
11k
qrush
285
18k
kastner
54
1.9k
Transcript
SEEDING YOUR LIBRARY WITH CocoaHeads Strasbourg Frédéric Maquin @ephread November
26th, 2015
COCOAPODS?
None
Centralised dependency manager for Xcode projects.
AUGUST 2011 ELOY DURÁN @ALLOY
AUGUST 2011 ELOY DURÁN @ALLOY
RUBYGEM-LIKE
GITHUB-BASED
None
$ [sudo] gem install cocoapods Installation
PODFILE VS. PODSPEC
Podfile source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! pod 'ElsassPod', '~>
1.0'
Podfile $ pod install
*.podspec Pod::Spec.new do |s| s.name = "ElsassPod" s.version = "1.0.0"
s.summary = "Made in Elsass" s.homepage = "https://github.com/ephread/ElsassPod" s.license = "MIT" s.author = { "Frédéric Maquin" => "fred@ephread.com" } s.source = { :git => "https://github.com/ephread/ElsassPod.git", :tag => s.version.to_s } s.platform = :ios, "8.0" s.requires_arc = true s.source_files = "ElsassPod", "Source/*.swift" s.resources = ["Source/*.xcassets"] end
MANAGING LIBRAIRIES
Automatic Integration $ pod lib create CocoaPods is opinionated!
Automatic Integration $ pod lib create CocoaPods is opinionated!
Manual Integration Write the .podspec file by hand.
$ pod spec lint mypod.posdspec $ pod lib lint mypod.posdspec
REMOTE LOCAL Linting
Linting Always lint your pod locally first!
Public pods $ pod trunk push ElsassPod.podspec
Private pods $ pod repo add REPO_NAME SOURCE_URL $ pod
repo push REPO_NAME ElsassPod.podspec
Private pods source 'https://github.com/ephread/ElsassPodSpecs.git'
DEMO
QUESTIONS?