Suche senden
Hochladen
Cocoa pods iOSDevUK 14 talk: managing your libraries
•
0 gefällt mir
•
1,065 views
Diego Freniche Brito
Folgen
How to manage and organize your project using Cocoa pods, Synx, private pods, etc.
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 34
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Денис Лебедев-Управление зависимостями с помощью CocoaPods
Денис Лебедев-Управление зависимостями с помощью CocoaPods
UA Mobile
Using Buildout to Develop and Deploy Python Projects
Using Buildout to Develop and Deploy Python Projects
Clayton Parker
The Modern Developer Toolbox
The Modern Developer Toolbox
Pablo Godel
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins
Vagrant - PugMI
Vagrant - PugMI
Gianluca Arbezzano
The Grand Puppet Sub-Systems Tour - Nicholas Fagerlund, Puppet Labs
The Grand Puppet Sub-Systems Tour - Nicholas Fagerlund, Puppet Labs
Puppet
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Becky Todd
Empfohlen
Денис Лебедев-Управление зависимостями с помощью CocoaPods
Денис Лебедев-Управление зависимостями с помощью CocoaPods
UA Mobile
Using Buildout to Develop and Deploy Python Projects
Using Buildout to Develop and Deploy Python Projects
Clayton Parker
The Modern Developer Toolbox
The Modern Developer Toolbox
Pablo Godel
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins
Vagrant - PugMI
Vagrant - PugMI
Gianluca Arbezzano
The Grand Puppet Sub-Systems Tour - Nicholas Fagerlund, Puppet Labs
The Grand Puppet Sub-Systems Tour - Nicholas Fagerlund, Puppet Labs
Puppet
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Becky Todd
Giving back with GitHub - Putting the Open Source back in iOS
Giving back with GitHub - Putting the Open Source back in iOS
Madhava Jay
Hacking on WildFly 9
Hacking on WildFly 9
Virtual JBoss User Group
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
Hacking on WildFly 9
Hacking on WildFly 9
JBUG London
Do you really understand Git?
Do you really understand Git?
ESUG
Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011
Draco2002
Full-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
Jose Diaz-Gonzalez
CocoaPods introduction
CocoaPods introduction
Jordi Giménez
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
Francesco Bruni
Git::Hooks
Git::Hooks
Mikko Koivunalho
React nativebeginner1
React nativebeginner1
Oswald Campesato
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36
aleonhardt
SF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSS
Justin Ryan
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
Philip Norton
Packaging Software, Puppet Labs Style - PuppetConf 2014
Packaging Software, Puppet Labs Style - PuppetConf 2014
Puppet
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Chef
Gophers, whales and.. clouds? Oh my!
Gophers, whales and.. clouds? Oh my!
Glenn 'devalias' Grant
How to Contribute to Ansible
How to Contribute to Ansible
Cisco DevNet
Package manages and Puppet - PuppetConf 2015
Package manages and Puppet - PuppetConf 2015
ice799
Javascript orientado a testes
Javascript orientado a testes
Alexandre Gomes
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Diego Freniche Brito
From Mobile to MongoDB: Store your app's data using Realm
From Mobile to MongoDB: Store your app's data using Realm
Diego Freniche Brito
Weitere ähnliche Inhalte
Ähnlich wie Cocoa pods iOSDevUK 14 talk: managing your libraries
Giving back with GitHub - Putting the Open Source back in iOS
Giving back with GitHub - Putting the Open Source back in iOS
Madhava Jay
Hacking on WildFly 9
Hacking on WildFly 9
Virtual JBoss User Group
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
Hacking on WildFly 9
Hacking on WildFly 9
JBUG London
Do you really understand Git?
Do you really understand Git?
ESUG
Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011
Draco2002
Full-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
Jose Diaz-Gonzalez
CocoaPods introduction
CocoaPods introduction
Jordi Giménez
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
Francesco Bruni
Git::Hooks
Git::Hooks
Mikko Koivunalho
React nativebeginner1
React nativebeginner1
Oswald Campesato
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36
aleonhardt
SF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSS
Justin Ryan
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
Philip Norton
Packaging Software, Puppet Labs Style - PuppetConf 2014
Packaging Software, Puppet Labs Style - PuppetConf 2014
Puppet
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Chef
Gophers, whales and.. clouds? Oh my!
Gophers, whales and.. clouds? Oh my!
Glenn 'devalias' Grant
How to Contribute to Ansible
How to Contribute to Ansible
Cisco DevNet
Package manages and Puppet - PuppetConf 2015
Package manages and Puppet - PuppetConf 2015
ice799
Javascript orientado a testes
Javascript orientado a testes
Alexandre Gomes
Ähnlich wie Cocoa pods iOSDevUK 14 talk: managing your libraries
(20)
Giving back with GitHub - Putting the Open Source back in iOS
Giving back with GitHub - Putting the Open Source back in iOS
Hacking on WildFly 9
Hacking on WildFly 9
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Hacking on WildFly 9
Hacking on WildFly 9
Do you really understand Git?
Do you really understand Git?
Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011
Full-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
CocoaPods introduction
CocoaPods introduction
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
Git::Hooks
Git::Hooks
React nativebeginner1
React nativebeginner1
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36
SF Gradle Meetup - Netflix OSS
SF Gradle Meetup - Netflix OSS
Getting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
Packaging Software, Puppet Labs Style - PuppetConf 2014
Packaging Software, Puppet Labs Style - PuppetConf 2014
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Gophers, whales and.. clouds? Oh my!
Gophers, whales and.. clouds? Oh my!
How to Contribute to Ansible
How to Contribute to Ansible
Package manages and Puppet - PuppetConf 2015
Package manages and Puppet - PuppetConf 2015
Javascript orientado a testes
Javascript orientado a testes
Mehr von Diego Freniche Brito
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Diego Freniche Brito
From Mobile to MongoDB: Store your app's data using Realm
From Mobile to MongoDB: Store your app's data using Realm
Diego Freniche Brito
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
Diego Freniche Brito
Functional Programming for Busy Object Oriented Programmers
Functional Programming for Busy Object Oriented Programmers
Diego Freniche Brito
Swift as a scripting language iOSDevUK14 Lightning talk
Swift as a scripting language iOSDevUK14 Lightning talk
Diego Freniche Brito
Charla XVII Beta Beers Sevilla: ¿Ágil? Como la rodilla de un click
Charla XVII Beta Beers Sevilla: ¿Ágil? Como la rodilla de un click
Diego Freniche Brito
Core data WIPJam workshop @ MWC'14
Core data WIPJam workshop @ MWC'14
Diego Freniche Brito
Core data intermediate Workshop at NSSpain 2013
Core data intermediate Workshop at NSSpain 2013
Diego Freniche Brito
Core data basic Workshop slides NSSpain 2013
Core data basic Workshop slides NSSpain 2013
Diego Freniche Brito
Mehr von Diego Freniche Brito
(9)
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
Los mejores consejos para migrar de RDBMS a MongoDB.pptx.pdf
From Mobile to MongoDB: Store your app's data using Realm
From Mobile to MongoDB: Store your app's data using Realm
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
MobileConf 2021 Slides: Let's build macOS CLI Utilities using Swift
Functional Programming for Busy Object Oriented Programmers
Functional Programming for Busy Object Oriented Programmers
Swift as a scripting language iOSDevUK14 Lightning talk
Swift as a scripting language iOSDevUK14 Lightning talk
Charla XVII Beta Beers Sevilla: ¿Ágil? Como la rodilla de un click
Charla XVII Beta Beers Sevilla: ¿Ágil? Como la rodilla de un click
Core data WIPJam workshop @ MWC'14
Core data WIPJam workshop @ MWC'14
Core data intermediate Workshop at NSSpain 2013
Core data intermediate Workshop at NSSpain 2013
Core data basic Workshop slides NSSpain 2013
Core data basic Workshop slides NSSpain 2013
Kürzlich hochgeladen
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
Kürzlich hochgeladen
(20)
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Cocoa pods iOSDevUK 14 talk: managing your libraries
1.
2.
Bore%Da! • Diego'Freniche
• @dfreniche • I'develop'Apps • also'teach'people'how'to'do'it • iOS/Android/BB10/webOS/... Ultra&geek*CV:*h/ps://github.com/dfreniche/cv
3.
Warning! • This&talk&is&maybe&Dave&Addey&approved
• I'm&going&to&talk&about&lots&of&third&party&libraries,&specially&for& networking&code,&so&for$sure$is$not$Markus$Zarra$approved!
4.
The$tradi*onal*$approach$to$library$ management like%in%"tradi,onal"%==%bad
5.
• write'your'code •
find'some'libraries'on'StackOverflow • download'them'from'github • unzip'&'add'to'your'project • which%folder%do%I%have%to%add%to%my%project? • try'to'keep'that'mess'organized • ...'good'luck'with'that'
6.
What%if...? • there's(a(new(version(of(your(libs(with(more(features?
• there's(a(fixed(bug(you(don't(know(about? • GOTO$Tradi)onal$approach
7.
Cocoa%Pods%light%introduc1on • Abstract
• The,idea • The,Philosophy,behind,Cocoa,Pods • Something,very,clever,here • Are,you,s;ll,awake? • Kill,by,PowerPoint Slide&1&/&300
8.
9.
Talk%is%cheap.%Show%me%the%code. • Linus'Torvalds
10.
Install'Cocoa'Pods The$easy$way: $
sudo gem install cocoapods Update'Cocoa'Pods GOTO EASY_WAY
11.
A"pod"file platform :ios,
'7.0' pod "AFNetworking", "~> 2.0" pod "ARAnalytics", "~> 2.7"
12.
Create&pod&file $ pod
init
13.
Using&more&than&one&target? platform :ios,
"6.0" target "SuperHeroes" do end target "SuperHeroesTests" do end
14.
Final&pod&file platform :ios,
"6.0" target "SuperHeroes" do pod 'AFNetworking', '~> 2.2' pod "NSLogger" end target "SuperHeroesTests" do end
15.
Install'pods pod install
Analyzing dependencies Downloading dependencies Installing AFNetworking (2.3.1) Installing NSLogger (1.2) Generating Pods project Integrating client project [!] From now on use `SuperHeroes.xcworkspace`.
16.
[!]$From$now$on$use$SuperHeroes.xcworkspace.
17.
[!]$From$now$on$use$ SuperHeroes.xcworkspace.
18.
Duplicated+code! Delete%duplicated%code...%Sweet!
19.
Change'imports #import "NSLogger.h"
becomes: #import <NSLogger.h>
20.
It#compiles#and#run But$doesn't$run$tests
21.
link_with 'MainTarget', 'MainTargetTests'
Move pods to common area 'MainTarget' $ pod install Because'StackOverflow
22.
Edit%Podfile%within%Xcode • even%install%Pods%using%Alcatraz%+%Cocoa%Pods%plugin
• Run%pod install%from%Xcode!
23.
Use$Groups,$please! • But%groups%alone%doesn't%suffice
• No%Finder%organiza7on
24.
Enter&Synx! • h#ps://github.com/venmo/synx
• Install9it: $ sudo gem install synx • Use%it $ synx SuperHeroes.xcodeproj/
25.
Our$own$libraries$as$Pods
26.
You$need$two$things • Your&library&repo
• A&PodSpec,&inside&a&repo Add#that#PodSpec#to#the#Cocoapods#specs
27.
git init git
add README.md git commit -m "Initial commit" git remote add origin https://github.com/dfreniche/Private-CocoaPods.git git push -u origin master cd MarvelAPIHelper/0.0.1/
28.
Create&the&Spec pod$spec$create$PrivateLibrary Check&the&spec
pod$spec$lint$PrivateLibrary.podspec
29.
Add#repo#to#CocoaPods#list pod$repo$add$MarvelAPIHelper$h0ps://github.com/dfreniche/ Private>CocoaPods.git
Update'the'spec pod$repo$update$MarvelAPIHelper How$to$remove$a$Private$Repo pod$repo$remove$[name]
30.
Check&our&newly&installed&spec! cd ~/.cocoapods/repos
cd MarvelAPIHelper/ pod repo lint .
31.
Success! /usr/bin/pod install
Analyzing dependencies Downloading dependencies Using AFNetworking (2.3.1) --> Installing MarvelAPIHelper (0.0.1) Using NSLogger (1.2) Using OCHamcrest (4.0.1) Using OCMockito (1.3.0) Using TPWeakProxy (1.0.0) Generating Pods project Integrating client project
32.
Review • CocoaPods:*best*tool*for
• 3rd*party*library*management • conflict*/*dependencies*resolu;on • stay*updated • managing*your*own*libraries
33.
Thanks! Everything+was+crystal+clear,+so+no+ques5ons+ needed
Contact'/'send'beer:'@dfreniche
34.
Links • h#p://cocoapods.org
• Private4pod4spec4repo:4h#ps://github.com/dfreniche/Private: CocoaPods • Example4App4using4Pods4and4the4private4Pod:4h#ps://github.com/ dfreniche/MarvelAPIHelper
Jetzt herunterladen