21 Oct 2014
@mrackwitz
Marius Rackwitz
Pioneering
Swift
Slide 2
Slide 2 text
21 Oct 2014
@mrackwitz
LET ME INTRODUCE MYSELF
Slide 3
Slide 3 text
21 Oct 2014
@mrackwitz
What is CocoaPods?
Slide 4
Slide 4 text
21 Oct 2014
@mrackwitz
WHAT IS COCOAPODS?
An application level dependency manager
A community around mostly open source
Objective-C code
Slide 5
Slide 5 text
21 Oct 2014
@mrackwitz
WHAT IS COCOAPODS?
Users downloads a ruby gem
Developers provide recipes for creating Xcode projects
called Podspecs
Users write a list of dependencies in simple text file called
a Podfile
CocoaPods pulls in externals to your project with as little
changes to your project as possible
Slide 6
Slide 6 text
4 Oct 2014
@orta
@fabiopelosin
REAL LIFE USAGE
Slide 7
Slide 7 text
21 Oct 2014
@mrackwitz
Who Makes
CocoaPods?
Slide 8
Slide 8 text
21 Oct 2014
@mrackwitz
WHO MAKES COCOAPODS?
Slide 9
Slide 9 text
21 Oct 2014
@mrackwitz
WHO MAKES COCOAPODS?
Slide 10
Slide 10 text
21 Oct 2014
@mrackwitz
I want to use Swift.
Slide 11
Slide 11 text
21 Oct 2014
@mrackwitz
I want to use Swift
for productive projects.
Slide 12
Slide 12 text
21 Oct 2014
@mrackwitz
I don't want to convert
our entire app to Swift.
Slide 13
Slide 13 text
21 Oct 2014
@mrackwitz
I don't want to convert
our entire app to Swift.
Yet.
Slide 14
Slide 14 text
21 Oct 2014
@mrackwitz
But I want to introduce
it there, where it has
the most impact.
Slide 15
Slide 15 text
21 Oct 2014
@mrackwitz
I want to use
CocoaPods with Swift.
Slide 16
Slide 16 text
21 Oct 2014
@mrackwitz
But you currently can't
embed Swift Pods.
Slide 17
Slide 17 text
21 Oct 2014
@mrackwitz
You can use Swift in your app,
and embed Obj-C Pods.
Slide 18
Slide 18 text
21 Oct 2014
@mrackwitz
You can use Swift in your app,
but you can't embed Swift Pods.
Slide 19
Slide 19 text
21 Oct 2014
@mrackwitz
You can use Swift in your app,
but you can't embed Swift Pods.
So far.
Slide 20
Slide 20 text
21 Oct 2014
@mrackwitz
XCODE 6 BETAS TOLD US IT IS A BUG AND LET US HOPE ...
Slide 21
Slide 21 text
21 Oct 2014
@mrackwitz
... XCODE 6 GM SAYS IT'S A FEATURE.
Slide 22
Slide 22 text
21 Oct 2014
@mrackwitz
Static Libraries with
Swift are not officially
supported.
Slide 23
Slide 23 text
21 Oct 2014
@mrackwitz
But there is another
reason, too …
Slide 24
Slide 24 text
21 Oct 2014
@mrackwitz
But there is another
reason, too …
(anyone?)
Slide 25
Slide 25 text
21 Oct 2014
@mrackwitz
@IBDesignable
Slide 26
Slide 26 text
21 Oct 2014
@mrackwitz
So, we have to support
frameworks NOW.
Slide 27
Slide 27 text
21 Oct 2014
@mrackwitz
COCOA TOUCH FRAMEWORKS:
Bundles of Resources, Clang Module Slices,
Standard Dylibs and Embedded Frameworks.
We need to support under the hood Clang
Modules, too.
Slide 28
Slide 28 text
21 Oct 2014
@mrackwitz
INSIDE A FRAMEWORK
Slide 29
Slide 29 text
21 Oct 2014
@mrackwitz
CLANG MODULES MEANS ...
@import instead #import
Slide 30
Slide 30 text
21 Oct 2014
@mrackwitz
DYNAMIC FRAMEWORKS NEED TO BE EMBEDDED
Slide 31
Slide 31 text
21 Oct 2014
@mrackwitz
DYNAMIC FRAMEWORKS NEED TO BE EMBEDDED