Enviar búsqueda
Cargar
Cocoa pods iOSDevUK 14 talk: managing your libraries
•
0 recomendaciones
•
1,065 vistas
Diego Freniche Brito
Seguir
How to manage and organize your project using Cocoa pods, Synx, private pods, etc.
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 34
Descargar ahora
Descargar para leer sin conexión
Recomendados
Денис Лебедев-Управление зависимостями с помощью 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
Recomendados
Денис Лебедев-Управление зависимостями с помощью 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
Más contenido relacionado
Similar a 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
Similar a 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
Más de 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
Más de 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
Último
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
hans926745
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Último
(20)
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
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
Descargar ahora