Can Enhance your
iOS Development
Amir Hayek
How
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

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

  • 1.
    Can Enhance your iOSDevelopment Amir Hayek How
  • 3.
  • 4.
  • 5.
    Open Source Dragging DependencyHell Enter CocoaPods
  • 6.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile
  • 7.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends
  • 8.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends PodSpec
  • 9.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec
  • 10.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 11.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 12.
    Open Source Dragging DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 20.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 21.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo v1.2
  • 22.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo v1.2 v1.4
  • 23.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 24.
    Open Source Dragging DependencyHell 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 DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Installing CocoaPods $ sudo gem install cocoapods
  • 26.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Trying a Project $ pod try DZNPhotoPickerController
  • 27.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Create: Podfile
  • 28.
    Open Source Dragging DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 32.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 33.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz
  • 34.
    Open Source Dragging DependencyHell 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 DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz
  • 36.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz ColorSense
  • 37.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Alcatraz
  • 38.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 39.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 40.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 41.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 42.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 43.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 44.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 45.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 46.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org Mou
  • 47.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org Mou
  • 48.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 49.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org Github
  • 50.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org
  • 51.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo .org + =
  • 52.
    Open Source Dragging DependencyHell 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 DependencyHell 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 DependencyHell 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 DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 56.
    Open Source Dragging DependencyHell 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 DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 58.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 59.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 60.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo
  • 61.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Amir Hayek
  • 62.
    Open Source Dragging DependencyHell Enter CocoaPods Setup Podfile CocoaPods Friends Become a Better Coder PodSpec Demo Thank you Amir Hayek