how cocoapods can enhance your ios development - amir hayek, toluna
TRANSCRIPT
Can Enhance your iOS Development
Amir Hayek
How
Open Source Dragging
Open Source DraggingDependency Hell
Open Source DraggingDependency HellEnter CocoaPods
Open Source DraggingDependency HellEnter CocoaPodsSetup Podfile
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods FriendsPodSpec
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Requirement: Pick photos from
Camera, Gallery and the Web
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
v1.2
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
v1.2 v1.4
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
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.
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Installing CocoaPods
$ sudo gem install cocoapods
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Trying a Project
$ pod try DZNPhotoPickerController
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Create: Podfile
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'
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 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:
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Alcatraz
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
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Alcatraz
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Alcatraz
ColorSense
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Alcatraz
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Mou
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Mou
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Github
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
.org
+
=
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
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
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:
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
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
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Amir Hayek
Open Source DraggingDependency HellEnter CocoaPodsSetup PodfileCocoaPods Friends
Become a Better CoderPodSpec
Demo
Thank you
Amir Hayek