S Link
Playgrounds: Swift & Apple Developers Conference. Melbourne, February 23 & 24.
Australiaβs first international Swift and Apple developers conference with a lineup of speakers who work on the apps you love, write the blogs you read and create open-source tools you use. Playgrounds is where theyβll be. Check out the podcast series and follow on Twitter for announcements, @playgroundscon. Limited tickets remaining.
Job: iOS Developer at Capital One
We are a full stack, multi-platform team, building on top of new and powerful technologies. Weβre looking for passionate developers who want to work as part of a multidisciplinary team of engineers to deliver best-of-class financial apps that will help change banking for good.
Swift Around the Web
Pretty much every way to assign optionals
"The extremely weird solution using a ? marker: optItem? = nonOptionalValue
" -> didn't know that one π±
Understanding memory leaks in closures
Super useful demo of the new tiny Xcode icon that saves time in debugging memory leaks in Swift closures! Don't miss this one weird trick!
Coding
Upcoming features in iOS 10.3
π SKStoreReviewController
!! Oh, and alternative app icons... could be fun to have holiday-themed ones π€
Waiting in XCTest
Also new in iOS 8.3 - XCTestWaiter
...
"At first glance
XCTestWaiter
is simply a new approach to waiting forXCTestExpectations
to fulfill. However, there are a few gems hidden beneath the surface."
Apple News
Xcode 8.3 beta is now available
Xcode 8.3 no longer supports Swift 2.3, but Swift 3.1 should be source compatible with Swift 3.0:
"Xcode 8.3 includes Swift 3.1 which is intended to be source compatible with Swift 3.0. If you find instances where your Swift 3.0 code no longer compiles, please file a bug report and include the affected code." πππ
Faster Mix-and-Match Builds with Precompiled Bridging Headers
"Every time a Swift file in a mixed-language target is compiled, the Swift compiler parses the projectβs bridging header in order to make Objective-C code visible to Swift code. When the bridging header is large and the Swift compiler runs many times β as in a debug configuration β the cost of repeatedly parsing the bridging header can be a substantial part of the overall build time."
In Swift 3.1, you can reduced debug build time by 30% by using the new -enable-bridging-pch
Swift flag for π issue. This mode is still experimental and must be manually enabled, but it will be enabled by default if developer feedback indicates itβs working well and providing significant speedup... so try it out!
Other Cool Stuff
Real-world Mario Cart on the Streets of Tokyo
So some of the try! Swift Tokyo participants tried this last year, but I couldn't believe my eyes when I saw it in person walking down the street yesterday. So many onesies π π π
Videos
Pushing the limits of protocol-oriented programming
Video and full transcript available here:
"All programming languages have their own βpersonalityβ and encourage certain paradigms. In Swift, this is expressed through protocols and a focus on value types. As a community, we convey this by describing code as being βswiftyβ or not. In this talk, weβll examine how we can push the limits of protocol-oriented programming (and thus, the limits of the Swift type-checker) by building a generic, protocol-oriented (βswiftyβ) data source framework."
Swift Evolution
Swift ABI Stability Manifesto
"This document is an exploration and explanation of Swift's ABI alongside the goals and investigations needed before declaring Swift's ABI stable. It is meant to be a resource to the community as well as a declaration of the direction of Swift's ABI."
Swift 4 Package Manager Roadmap
Lots of work done and lots of work ahead π
"The package manager's release in Swift 3 was a big success, with many enthusiastic adopters. Since then we've been hard at work building the next version of the package manager. We have a lot we want to do, but focus is important for building a successful tool, so we've defined a set of goals that we expect to focus on for Swift 4. As always, this roadmap may be amended based on feedback from the community, and pull requests for improvements outside this list are still welcome!"
Podcasts
SwiftCoders #37: Chris Lattner - Creator of Swift
Another great interview with Chris Lattner. Loved learning about how he first learned to code - thanks time shares!
Swift Code
- CalendarKit - π Fully customizable calendar for iOS
- Sharaku - Image filtering UI library like Instagram.
- PotterPics - Harry Potter themed social network similar to Instagram.
- ViewControllersFactory - Add you storyboards, Instantiate your ViewControllers
- mod_swift - Write Apache Modules in Swift!
Business
Daring Fireball: Additional Details on the New App Store Review Features
Must-read details about the exciting and unexpected new App Store features finally allowing developers reply to customer reviews and the built-in Apple interface for asking for reviews!! Looking forward to turning off all those "please review our app" prompts π¬
Swift Source
Map
The map
functions is one of the first concepts you'll encounter if you start learning functional programming. It is super important in writing better Swift code, and there will likely be parts of your code that highly benefit from a custom implementation of map
. Thanks @gregheo for such a great explanation!