24
Делаем жизнь лучше с CocoaPods Глеб Тарасов 31 мая 2013

Делаем жизнь лучше с CocoaPods

  • Upload
    -

  • View
    1.205

  • Download
    0

Embed Size (px)

DESCRIPTION

Доклад на CocoaHeads, 31 мая 2013 г

Citation preview

Page 1: Делаем жизнь лучше с CocoaPods

Делаем жизнь лучшес CocoaPods

Глеб Тарасов31 мая 2013

Page 2: Делаем жизнь лучше с CocoaPods

Предшественники• RubyGems, Ruby (2001 год)

• Maven, Java (2002 год)

• pip, Python (2008 год)

• Nuget, C# (2010 год)

CocoaPods, Objective-C (2011 год)

Page 3: Делаем жизнь лучше с CocoaPods

Варианты подключения библиотек

Page 4: Делаем жизнь лучше с CocoaPods

Скачать, положить в папочку и добавить в

проект– легкая первая установка– легко допиливать библиотеку– сложно обновлять– невозможно слить свои изменения с обновлением

Page 5: Делаем жизнь лучше с CocoaPods

Подключить как git submodule (svn externals)

Ссылка на HEAD

Ссылка на тег версии

Ссылка на свой fork

Page 6: Делаем жизнь лучше с CocoaPods

– неприятно добавлять– гораздо проще с изменениями, обновлением и слиянием– но обновление все еще целая проблема:

– сделать pull– передобавить в проект– проверить не отвалились ли зависимости– …

Page 7: Делаем жизнь лучше с CocoaPods

Использовать CocoaPods

Page 8: Делаем жизнь лучше с CocoaPods

pod 'AFNetworking'pod 'MagicalRecord'pod 'Nimbus'pod 'P34Utils'

Podfile

$ pod install

Page 9: Делаем жизнь лучше с CocoaPods

Workspace

Проект Pods

Page 10: Делаем жизнь лучше с CocoaPods

platform :ios, '5.0'

pod 'P34Utils', :git => 'https://github.com/pilot34/P34Utils.git', :branch => 'minimal'

pod 'P34FilesDownloader', :git => 'https://github.com/pilot34/P34FilesDownloader.git'

pod 'MagicalRecord'

pod 'AFNetworking', '0.5.1'

pod 'vfrReader', :git => 'https://github.com/pilot34/Reader.git'

pod 'NSDate-TimeDifference', :git => 'https://github.com/pilot34/NSDate-

TimeDifference.git'

pod 'DETweetComposeViewController'

Podfile

Page 11: Делаем жизнь лучше с CocoaPods

Демо(подключаем AFNetwokring)

Page 12: Делаем жизнь лучше с CocoaPods

Как работает?https://github.com/CocoaPods/Specs

Page 13: Делаем жизнь лучше с CocoaPods

Исправляем чужие библиотеки

1. делаем fork библиотеки

2. делаем fork CocoaPods Specs repo

2. кладем исправленный Podspec файл в наш fork

3. указываем кастомную git ссылку в Podfile

3. исправляем там Podspec

Page 14: Делаем жизнь лучше с CocoaPods

Пишем свои библиотеки

1. пишем библиотеку

3. делаем fork CocoaPods Specs repo

3. кладем Podspec файл в наш репозиторий

4. указываем кастомную git ссылку в Podfile

4. добавляем Podspec туда

2. пишем для нее Podspec

5. делаем pull request в общий Specs repo

Page 15: Делаем жизнь лучше с CocoaPods

Демо(пишем библиотеку)

Page 16: Делаем жизнь лучше с CocoaPods

Проблемы

• Перевод существующего проекта может затянуться

• Зависимость еще от одного вендора• Неудобно одновременно дописывать и программу и библиотеку

Page 18: Делаем жизнь лучше с CocoaPods

Если осталось время

Page 19: Делаем жизнь лучше с CocoaPods

Crashlyticshttps://www.crashlytics.com

Twitter$100 млн

Page 20: Делаем жизнь лучше с CocoaPods
Page 21: Делаем жизнь лучше с CocoaPods
Page 22: Делаем жизнь лучше с CocoaPods
Page 23: Делаем жизнь лучше с CocoaPods
Page 24: Делаем жизнь лучше с CocoaPods

Всё, спасибо!