SlideShare a Scribd company logo
Can Enhance your
iOS Development
Amir Hayek
How
How cocoapods can enhance your iOS development - Amir Hayek, Toluna
Open Source Dragging
Open Source Dragging
Dependency Hell
Open Source Dragging
Dependency Hell
Enter CocoaPods
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
PodSpec
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
v1.2
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
v1.2 v1.4
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
CocoaPods is a library dependency management tool
for OS X and iOS applications.
With CocoaPods, you can define your dependencies,
called Pods, and manage their versions easily over time
and across development environments.
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Installing CocoaPods
$ sudo gem install cocoapods
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Trying a Project
$ pod try DZNPhotoPickerController
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Create: Podfile
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Create: Podfile
platform :ios, '8.0'
pod 'AFNetworking', '~> 1.2’
pod ‘DZNPhotoPickerController’
pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Create: Podfile
platform :ios, '8.0'
pod 'AFNetworking', '~> 1.2’
pod ‘DZNPhotoPickerController’
pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'
$ pod install
Install:
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Create: Podfile
platform :ios, '8.0'
pod 'AFNetworking', '~> 1.2’
pod ‘DZNPhotoPickerController’
pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'
$ pod install
Install:
$ open MyProject.xcworkspace
run:
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Alcatraz
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Alcatraz
$ curl -fsSL https://raw.github.com/supermarin/
Alcatraz/master/Scripts/install.sh | sh
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Alcatraz
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Alcatraz
ColorSense
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Alcatraz
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Mou
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Mou
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Github
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
.org
+
=
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
$ pod spec create
Pod::Spec.new do |spec|
spec.name = 'Reachability'
spec.version = '3.1.0'
spec.license = :type => 'BSD'
spec.homepage = 'https://github.com/tonymillion/Reachability'
spec.authors = 'Tony Million' => 'tonymillion@gmail.com'
spec.summary = 'ARC and GCD Compatible Reachability Class for iOS and OS X.'
spec.source = :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0'
spec.source_files = 'Reachability.h,m'
spec.framework = 'SystemConfiguration'
spec.requires_arc = true
end
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Pod::Spec.new do |spec|
spec.name = 'ShareKit'
spec.source_files = 'Classes/ShareKit/{Configuration,Core,Customize UI,UI}/**/*.{h,m,c}'
# ...
spec.subspec 'Evernote' do |evernote|
evernote.source_files = 'Classes/ShareKit/Sharers/Services/Evernote/**/*.{h,m}'
end
spec.subspec 'Facebook' do |facebook|
facebook.source_files = 'Classes/ShareKit/Sharers/Services/Facebook/**/*.{h,m}'
facebook.compiler_flags = '-Wno-incomplete-implementation -Wno-missing-prototypes'
facebook.dependency 'Facebook-iOS-SDK'
end
# ...
end
pod 'ShareKit/Evernote'
Subsets
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Run:
$ pod spec lint
to check for errors.
$ pod trunk push NAME.podspec
Push project to github then:
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
“CocoaPods streamlines development with
Objective-C, and our goal is to improve the
discoverability of, and engagement in, third-party
open-source libraries.”
- Michele Titolo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Amir Hayek
Open Source Dragging
Dependency Hell
Enter CocoaPods
Setup Podfile
CocoaPods Friends
Become a Better Coder
PodSpec
Demo
Thank you
Amir Hayek

More Related Content

PDF
Bai thuc hanh lap trinh Android so 1
PDF
PPTX
Клиента нужно знать в лицо. Crm битрикс24 для управления продажами
PDF
박홍근홈패션 사보 2011년 봄호
PDF
Wendi Knutsen Resume2
PDF
SOKONI MAGAZINE -MARKETING AFTER 40
PPT
Bangcle en-game
PPTX
12 инструментов для отрыва от конкурентов, повышаем эффективность работы комп...
Bai thuc hanh lap trinh Android so 1
Клиента нужно знать в лицо. Crm битрикс24 для управления продажами
박홍근홈패션 사보 2011년 봄호
Wendi Knutsen Resume2
SOKONI MAGAZINE -MARKETING AFTER 40
Bangcle en-game
12 инструментов для отрыва от конкурентов, повышаем эффективность работы комп...

Viewers also liked (13)

PPTX
Production ident Process
PPTX
петро ребро2
PDF
박홍근홈패션 2014 여름호
PDF
Intec International Projects ,Superior & Sustainable Metals Production
PDF
Untitled Presentation
PDF
13 relatorio-gerencial
PDF
11 relatorio-gerencial
PDF
A Level Certificates
PPTX
О себе
PPT
Dairy farming
PPTX
Production ident Process
петро ребро2
박홍근홈패션 2014 여름호
Intec International Projects ,Superior & Sustainable Metals Production
Untitled Presentation
13 relatorio-gerencial
11 relatorio-gerencial
A Level Certificates
О себе
Dairy farming
Ad

Similar to How cocoapods can enhance your iOS development - Amir Hayek, Toluna (20)

PDF
Creating Cocoapods Library
PDF
CocoaHeads Rennes #13 : CocoaPods
PDF
Cocoapods Overview - library dependency manager for iOS
PDF
Using Cocoapods
PDF
Make your own Open Source transition with CocoaPods
PPTX
Cocoapods
PPTX
Docker & Diego - good friends or not? | anynines
PDF
Work shop - an introduction to the docker ecosystem
PDF
How to create a local Android open source project mirror in 6 easy steps
PDF
‘Hello, world!’ application how to dockerize golang application
PPTX
[Devoxx Morocco 2015] Apache Cordova In Action
PPTX
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
PDF
Shipping to Server and Cloud with Docker
PDF
Cordova Tutorial
PPTX
What is CocoaPods and how to setup?
PPTX
Create Your First Cocoa pods
PDF
Testing with Docker
PDF
Денис Лебедев-Управление зависимостями с помощью CocoaPods
PPTX
CocoaPods.pptx
PPTX
Cordova iOS Native Plugin Development
Creating Cocoapods Library
CocoaHeads Rennes #13 : CocoaPods
Cocoapods Overview - library dependency manager for iOS
Using Cocoapods
Make your own Open Source transition with CocoaPods
Cocoapods
Docker & Diego - good friends or not? | anynines
Work shop - an introduction to the docker ecosystem
How to create a local Android open source project mirror in 6 easy steps
‘Hello, world!’ application how to dockerize golang application
[Devoxx Morocco 2015] Apache Cordova In Action
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
Shipping to Server and Cloud with Docker
Cordova Tutorial
What is CocoaPods and how to setup?
Create Your First Cocoa pods
Testing with Docker
Денис Лебедев-Управление зависимостями с помощью CocoaPods
CocoaPods.pptx
Cordova iOS Native Plugin Development
Ad

More from Codemotion Tel Aviv (20)

PDF
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
PDF
Angular is one fire(base)! - Shmuela Jacobs
PDF
Demystifying docker networking black magic - Lorenzo Fontana, Kiratech
PDF
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
PDF
Facts about multithreading that'll keep you up at night - Guy Bar on, Vonage
PDF
Master the Art of the AST (and Take Control of Your JS!) - Yonatan Mevorach, ...
PDF
Unleash the power of angular Reactive Forms - Nir Kaufman, 500Tech
PDF
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
PDF
Actors and Microservices - Can two walk together? - Rotem Hermon, Gigya
PDF
How to Leverage Machine Learning (R, Hadoop, Spark, H2O) for Real Time Proces...
PDF
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
PDF
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
PDF
Containerised ASP.NET Core apps with Kubernetes
PDF
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
PDF
The Art of Decomposing Monoliths - Kfir Bloch, Wix
PDF
SOA Lessons Learnt (or Microservices done Better) - Sean Farmar, Particular S...
PDF
S3, Cassandra or Outer Space? Dumping Time Series Data using Spark - Demi Ben...
PDF
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry
PDF
Web based virtual reality - Tanay Pant, Mozilla
PDF
Material Design Demytified - Ran Nachmany, Google
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Angular is one fire(base)! - Shmuela Jacobs
Demystifying docker networking black magic - Lorenzo Fontana, Kiratech
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Facts about multithreading that'll keep you up at night - Guy Bar on, Vonage
Master the Art of the AST (and Take Control of Your JS!) - Yonatan Mevorach, ...
Unleash the power of angular Reactive Forms - Nir Kaufman, 500Tech
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Actors and Microservices - Can two walk together? - Rotem Hermon, Gigya
How to Leverage Machine Learning (R, Hadoop, Spark, H2O) for Real Time Proces...
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Containerised ASP.NET Core apps with Kubernetes
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
The Art of Decomposing Monoliths - Kfir Bloch, Wix
SOA Lessons Learnt (or Microservices done Better) - Sean Farmar, Particular S...
S3, Cassandra or Outer Space? Dumping Time Series Data using Spark - Demi Ben...
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry
Web based virtual reality - Tanay Pant, Mozilla
Material Design Demytified - Ran Nachmany, Google

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPT
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Teaching material agriculture food technology

How cocoapods can enhance your iOS development - Amir Hayek, Toluna

  • 1. Can Enhance your iOS Development Amir Hayek How
  • 5. Open Source Dragging Dependency Hell Enter CocoaPods
  • 6. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile
  • 7. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends
  • 8. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends PodSpec
  • 9. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec
  • 10. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 11. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 12. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 13. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 14. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 15. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 16. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 17. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 18. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Requirement: Pick photos from Camera, Gallery and the Web
  • 19. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 20. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 21. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo v1.2
  • 22. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo v1.2 v1.4
  • 23. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 24. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo CocoaPods is a library dependency management tool for OS X and iOS applications. With CocoaPods, you can define your dependencies, called Pods, and manage their versions easily over time and across development environments.
  • 25. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Installing CocoaPods $ sudo gem install cocoapods
  • 26. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Trying a Project $ pod try DZNPhotoPickerController
  • 27. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Create: Podfile
  • 28. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Create: Podfile platform :ios, '8.0' pod 'AFNetworking', '~> 1.2’ pod ‘DZNPhotoPickerController’ pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'
  • 29. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Create: Podfile platform :ios, '8.0' pod 'AFNetworking', '~> 1.2’ pod ‘DZNPhotoPickerController’ pod 'GoogleAnalytics-iOS-SDK', '~> 3.10' $ pod install Install:
  • 30. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Create: Podfile platform :ios, '8.0' pod 'AFNetworking', '~> 1.2’ pod ‘DZNPhotoPickerController’ pod 'GoogleAnalytics-iOS-SDK', '~> 3.10' $ pod install Install: $ open MyProject.xcworkspace run:
  • 31. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 32. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 33. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz
  • 34. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz $ curl -fsSL https://raw.github.com/supermarin/ Alcatraz/master/Scripts/install.sh | sh
  • 35. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz
  • 36. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz ColorSense
  • 37. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz
  • 38. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 39. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 40. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 41. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 42. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 43. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 44. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 45. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 46. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org Mou
  • 47. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org Mou
  • 48. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 49. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org Github
  • 50. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 51. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org + =
  • 52. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo $ pod spec create Pod::Spec.new do |spec| spec.name = 'Reachability' spec.version = '3.1.0' spec.license = :type => 'BSD' spec.homepage = 'https://github.com/tonymillion/Reachability' spec.authors = 'Tony Million' => 'tonymillion@gmail.com' spec.summary = 'ARC and GCD Compatible Reachability Class for iOS and OS X.' spec.source = :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' spec.source_files = 'Reachability.h,m' spec.framework = 'SystemConfiguration' spec.requires_arc = true end
  • 53. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Pod::Spec.new do |spec| spec.name = 'ShareKit' spec.source_files = 'Classes/ShareKit/{Configuration,Core,Customize UI,UI}/**/*.{h,m,c}' # ... spec.subspec 'Evernote' do |evernote| evernote.source_files = 'Classes/ShareKit/Sharers/Services/Evernote/**/*.{h,m}' end spec.subspec 'Facebook' do |facebook| facebook.source_files = 'Classes/ShareKit/Sharers/Services/Facebook/**/*.{h,m}' facebook.compiler_flags = '-Wno-incomplete-implementation -Wno-missing-prototypes' facebook.dependency 'Facebook-iOS-SDK' end # ... end pod 'ShareKit/Evernote' Subsets
  • 54. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Run: $ pod spec lint to check for errors. $ pod trunk push NAME.podspec Push project to github then:
  • 55. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 56. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo “CocoaPods streamlines development with Objective-C, and our goal is to improve the discoverability of, and engagement in, third-party open-source libraries.” - Michele Titolo
  • 57. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 58. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 59. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 60. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 61. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Amir Hayek
  • 62. Open Source Dragging Dependency Hell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Thank you Amir Hayek