how cocoapods can enhance your ios development - amir hayek, toluna

62
Can Enhance your iOS Development Amir Hayek How

Upload: codemotion-tel-aviv

Post on 06-Aug-2015

150 views

Category:

Technology


2 download

TRANSCRIPT

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

Can Enhance your iOS Development

Amir Hayek

How

Page 2: How cocoapods can enhance your iOS development - Amir Hayek, Toluna
Page 3: How cocoapods can enhance your iOS development - Amir Hayek, Toluna

Open Source Dragging

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

Open Source DraggingDependency Hell

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

Open Source DraggingDependency HellEnter CocoaPods

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

Open Source DraggingDependency HellEnter CocoaPodsSetup Podfile

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods FriendsPodSpec

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Requirement: Pick photos from

Camera, Gallery and the Web

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

v1.2

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

v1.2 v1.4

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

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.

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Installing CocoaPods

$ sudo gem install cocoapods

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Trying a Project

$ pod try DZNPhotoPickerController

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Create: Podfile

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Create: Podfileplatform :ios, '8.0'

pod 'AFNetworking', '~> 1.2’pod ‘DZNPhotoPickerController’ pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Create: Podfileplatform :ios, '8.0'

pod 'AFNetworking', '~> 1.2’pod ‘DZNPhotoPickerController’ pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'

$ pod install

Install:

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Create: Podfileplatform :ios, '8.0'

pod 'AFNetworking', '~> 1.2’pod ‘DZNPhotoPickerController’ pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'

$ pod install

Install:

$ open MyProject.xcworkspace

run:

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Alcatraz

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Alcatraz

$ curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Alcatraz

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Alcatraz

ColorSense

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Alcatraz

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

Mou

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

Mou

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

Github

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

.org

+

=

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

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' => '[email protected]' 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 = trueend

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

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

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Run:

$ pod spec lint

to check for errors.

$ pod trunk push NAME.podspec

Push project to github then:

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

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

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Amir Hayek

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

Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends

Become a Better CoderPodSpec

Demo

Thank you

Amir Hayek