can pause development on the project for a few days • you have recent Swift code (no Swift 1.1 or 1.2 etc.) • you don’t have too many branches that need to be merged after the conversion • you have ensured that your third party libs have a Swift 3 version 3
to • Convert to Swift 3 Make changes necessary to use Swift 3 and the latest SDKs. • Convert to Swift 2.3 Make changes necessary to use Swift 2.3 and the latest SDKs. Migration to Swift 3 will be required in a future release of Xcode. • Select targets to convert 6
Conversion took around 5 minutes • Fixing remaining compilation issues: 1 day • You can’t estimate your progress because Xcode stops building after certain amount of build errors • Jump to Next Issue: ⌘ + ’ • Start Xcode Swift 3 conversion multiple times helps • Don’t give up! • Fix naming to match Swift 3: 2 days 9
how it should have been called from day 1 • „private“ behaves now as expected • Can only be accessed from within the same lexical scope (the enclosing {}) • You can now safely have multiple classes in a single .swift file! 14
non-escaping as a default („@noescape“ is not needed anymore) • Instead use „@escaping“ when needed • A closure escapes, when it can be called after the function finishes. This is typically the case when the closure is assigned to a member variable. (e.g. completion blocks) 16
• Swift package manager • Swift 3.x in Spring 2017 • Swift 4.0 in Fall 2017 • Keep an eye on • swift.org ( core team) • github.com/apple/swift-evolution 18
iOS talent (You can send your CV to the usual suspects: Tractive, Runtastic, Troii, … ) • We’re looking for • some help on Marketing / SEO • more projects for iOS/Mac Development 19