Slide 1

Slide 1 text

Carthage

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Gestionnaire de dépendances

Slide 6

Slide 6 text

Justin Spahr-Summers ReactiveCocoa, Mantle, ...

Slide 7

Slide 7 text

Swift

Slide 8

Slide 8 text

Open Source https://github.com/Carthage/Carthage

Slide 9

Slide 9 text

Un gestionnaire de dépendances Un autre ?

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Une philosohie différente

Slide 12

Slide 12 text

Une philosohie différente 4 Moins complexe 4 Plus compliqué

Slide 13

Slide 13 text

git + xcodebuild + resolver

Slide 14

Slide 14 text

Moins complexe 4 Pas de répo centralisé 4 Pas de .podspec 4 Pas d'interaction avec Xcode

Slide 15

Slide 15 text

Plus compliqué 4 Nécessite configuration de Xcode manuelle 4 Plus controllable 4 Plus maitrisable 4 Moins "WTF is happening" 4 Supporte nativement les framework dynamiques

Slide 16

Slide 16 text

Mais aussi 4 Plus controllable 4 Plus maitrisable 4 Moins "WTF is happening" 4 Supporte seulement les framework dynamiques iOS 8+ seulement

Slide 17

Slide 17 text

Comment ça marche ?

Slide 18

Slide 18 text

Comment ça marche ? 4 brew install carthage

Slide 19

Slide 19 text

Comment ça marche ? 4 Créer le Cartfile

Slide 20

Slide 20 text

Comment ça marche ? 4 carthage update

Slide 21

Slide 21 text

Comment ça marche ? 4 carthage update

Slide 22

Slide 22 text

Comment ça marche ? 4 Ajouter les .frameworks à "Linked Frameworks and Libraries"

Slide 23

Slide 23 text

Comment ça marche ? 4 Ajouter "Run Script" /usr/local/bin/carthage copy-frameworks 4 Ajouter les paths aux frameworks sous “Input Files” p.e. $(SRCROOT)/Carthage/Build/iOS/c.framework

Slide 24

Slide 24 text

Comment ça marche ?

Slide 25

Slide 25 text

Astuces 4 commit Carthage.resolved pour que tout le monde soit synchro 4 vos collab devront simplement éxécuter carthage bootstrap

Slide 26

Slide 26 text

Créer une lib

Slide 27

Slide 27 text

Postulat : 4 Toutes les informations pour builder sont dans le xcodeproj 4 Pas de .podspec

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Astuces 4 Cartfile.private pour des dépendances internes 4 Scheme partagé 4 carthage build --no-skip-current

Slide 30

Slide 30 text

Merci ! https://speakerdeck.com/viteinfinite/carthage @viteinfinite