Swift over Coffee is a podcast that helps you keep your Swift skills up to date the easy way, hosted by Paul Hudson and Erica Sadun. Each episode has news, our picks of the week, plus an open ballot where you can share your views on important topics.
Follow us on Twitter at @swiftovercoffee.
Note: all the discussion from Erica and Paul is licensed under CC BY-SA 3.0. Our regular intro/outro music is also licensed under CC BY-SA 3.0, and is called "Dropping out of School" by Brad Sucks.
In this episode: We discuss Apple's developer academies, share our advice for becoming a fully independent developer, and on Swift's 10th anniversary share your stories of how Swift impacted your lives:
In this episode: We discuss Apple's newest accessibility features coming in iOS 18, share our tips for working with difficult colleagues and clients, and read your replies to our open ballot: is Swift Evolution working?
In this episode: We talk about the community events taking place alongside WWDC24, discuss what we're hoping to see change in Apple's APIs this year, and share your tips for getting apps ready for iOS 18.
In this episode: We start to get excited about WWDC24, talk about the pros and cons of pair programming, and share your views on how to make apps more accessible.
In this episode: We discuss why it's so important to attend conferences and other meetups, share the best moments from your careers, and play an all-new game: guess how many credit cards Mikaela has?
Exploring Mars from the Jet Propulsion Laboratory at NASA: https://apps.apple.com/gb/app/exploring-mars/id6475634958
Paul's iOS Simulator tip: https://x.com/twostraws/status/1760304617441952038?s=20
Apple's International Women’s Day event: https://developer.apple.com/events/view/M3M552SRZ6/dashboard
iOS Dev Happy Hour: https://iOSDevHappyHour.com
Cocoa Conferences: https://cocoaconferences.com
SwiftCraft in Folkestone: https://swiftcraft.uk
Deep Dish Swift: https://deepdishswift.com
SwiftConf: https://swiftconf.com
Danielle Lewis on Twitter: https://twitter.com/dlewisdev
Apple’s Racial Equity and Justice initiative: https://www.apple.com/racial-equity-justice-initiative/
Form to be featured in the App Store: https://developer.apple.com/contact/app-store/promote/
Mikaela's affiliate link for TelemetryDeck: http://bit.ly/3T9Gfqb
Mikaela's affiliate link for CardPointers: https://cardpointers.com/unicorn
In this episode: Swift 5.10 is here, we share our tips on mentoring and being mentored, and try out your Vision Pro apps.
Apple Vision Pro is here: https://www.apple.com/newsroom/2024/02/apple-vision-pro-arrives-in-apple-store-locations-across-the-us/
Email to Apple developers from Susan Prescott: https://x.com/twostraws/status/1753526820811452729
Launched podcast with Charlie, Christian, and Devin: https://x.com/LaunchedFM/status/1755597370975478170
pkl: https://github.com/apple/pkl
xkcd Standards: https://xkcd.com/927
Nominations for the Packages Community Showcase on Swift.org: https://forums.swift.org/t/nominations-for-the-packages-community-showcase-on-swift-org/68168
Erica Sadun on being humble as a developer: https://x.com/ericasadun/status/1075178908771729409
In this episode: Apple's Vision Pro is almost here and we couldn't be more excited, we share our tips for building a great app portfolio, and discuss your answers to the open ballot: where do you find app inspiration?
Vision Pro is available to pre-order: https://www.apple.com/apple-vision-pro
Slopes: https://getslopes.com
Despair, Inc Demotivator: https://despair.com/products/apathy
Upgrade your Mac: https://www.hackingwithswift.com/plus/live-streams/upgrade-your-mac
xkcd Kerning: https://xkcd.com/1015/
Logical: https://www.lemonamiga.com/games/details.php?id=689
Willis Gibson beats Tetris: https://www.bbc.co.uk/news/world-us-canada-67871775
Zach Tidwell on Twitter: https://x.com/ZachCTidwell/status/1743660293115314653
In this episode: We reveal the best way to use your Apple developer subscription, discuss our experience of using AI to build software, and share your tips on the best ways to approach debugging. Merry Christmas, folks!
Everyone gets 25 hours of free Xcode Cloud: https://developer.apple.com/news/?id=ik9z4ll6
How to submit a request to Apple's DTS team: https://developer.apple.com/support/technical
Apple's Journaling Suggestions API: https://developer.apple.com/documentation/journalingsuggestions
Never trust a pilot: https://x.com/twostraws/status/1732544903115157981
Sharpshooter: https://github.com/twostraws/Sharpshooter
Rob Napier's grim truth: https://x.com/cocoaphony/status/1224364439429881856
In this episode: We review Hacktoberfest and make plans for our future indie projects, share our thoughts on what makes great app architecture, and read out your tips on what's the most useful skill for a developer to have that isn't coding itself.
Packages on Swift.org: https://www.swift.org/packages/showcase.html
Apple's use of Swift and SwiftUI in iOS 17: https://blog.timac.org/2023/1019-state-of-swift-and-swiftui-ios17/
Gui Rambo's iOS architecture inventor: https://iosarchitecture.top
The Gang of Four book: https://en.wikipedia.org/wiki/Design_Patterns
Template method: https://en.wikipedia.org/wiki/Template_method_pattern
xkcd Compiling: https://xkcd.com/303/
xkcd Dependencies: https://xkcd.com/2347/
In this episode: We discuss the value of building a side project you love, chat about Apple's latest Vision Pro sample code, and share your views on our open ballot: should we use Swift everywhere, or learn different languages?
xkcd Ten Thousand: https://xkcd.com/1053/
Swift Splash: https://developer.apple.com/documentation/visionos/swift-splash
SF Symbols 5: https://developer.apple.com/sf-symbols/
Mikaela's GitHub Hacktoberfest repo about how much she loves cars: https://github.com/mikaelacaron/Basic-Car-Maintenance
xkcd Standards: https://xkcd.com/927/
In this episode: It's a job interview special, packed with our tips for preparing for interviews so you can really excel, followed by our listeners' tips so you can do the best on the day.
Shared passwords: https://support.apple.com/guide/iphone/share-passwords-iphe6b2b7043/ios
iOS Dev Weekly: https://iosdevweekly.com/
Swift Coding Challenges: https://www.hackingwithswift.com/store/swift-coding-challenges
The Ultimate Portfolio App: https://www.hackingwithswift.com/plus/ultimate-portfolio-app
In this episode: Vision Pro labs, the worst code we've ever written, and we discuss your answers to our open ballot: do developers also need to be designers?
In this episode: we discuss the earliest iPhone apps, share our tips for contributing to the community, and discuss your answers to our open ballot: should new developers learn UIKit, or is SwiftUI enough?
In this episode: we discuss Apple's big SwiftData announcement, our plans for building visionOS apps, and what's missing from SwiftUI after WWDC23.
In this episode: we discuss Apple's incredible new accessibility features, ask how you can keep learning and growing in your career, and share your wish lists for WWDC23.
In this episode: we celebrate Swiftmas and Dubmas all together, plus talk about remote conferences, tuple conformance, Mint, WWDC wishlists, and more.
Swift Package Index: http://swiftpackageindex.com
Swift AWS Lambda runtime: https://swift.org/blog/aws-lambda-runtime
Adding CI support to SPM packages: https://github.com/brightdigit/EggSeed
SE-0283: Tuples Conform to Equatable, Comparable, and Hashable – https://github.com/apple/swift-evolution/blob/master/proposals/0283-tuples-are-equatable-comparable-hashable.md
SE-0270: Add Collection Operations on Noncontiguous Elements: https://github.com/apple/swift-se0270-range-set/
Paul’s pick: WWDC 2020 Student Challenge Submissions: https://wwdc.github.io/2020/
Erica’s pick: Mint from Yonas Kolb and GUI Rambo’s WWDC app: https://github.com/insidegui/WWDC
WWDC wishlists
In this episode: WWDC goes WFH, Swift gets some inspiration from JavaScript, and we review your awesome Breathe app submissions.
In this episode: Erica learns to pronounce things the Paul way, we're blown away by how good Swift 5.2's error messages are, and discuss listener views on the future of Swift.
In this episode: on the road to Swift 6, handling key presses in iOS, and whether to build an app or a website.
In this episode: Swift 5.2 snapshots are available for download, Paul enjoys some property wrappers, and we dream about what SwiftUI 2.0 might bring.
In this episode: Sean's beard is staying in San Francisco, the NeXT era is ending, we discuss SwiftUI's forms system, and explore the many amazing new features from WWDC19.
The NeXT Era Ends, the Swift Era Begins: https://inessential.com/2019/06/07/the_next_era_ends_the_swift_era_begins
WWDC 2019 Session Notes: https://github.com/Blackjacx/WWDC
WWDC 2019 The Things You May Have Missed: https://patrickbalestra.com/blog/2019/06/07/wwdc-2019-the-things-you-may-have-missed.html
About SwiftUI: https://github.com/Juanpe/About-SwiftUI
Paul's pick: SwiftUI's forms – https://www.hackingwithswift.com/quick-start/swiftui/working-with-forms
Sean's pick: WWDC 2019 (Mind the Enthusiasm Gap) – https://nshipster.com/wwdc-2019/
Open Ballot: Now that the dust has settled, what was your favorite new feature announced at WWDC19 that isn't SwiftUI?
Plus: your chance to win a massive pile of Swift books to enjoy over summer!
In this special episode we’re joined by our friends Kristina Fox, JP Simard, Gui Rambo, and Kaya Thomas as we discuss everything new from WWDC19. Strap yourselves in – this is a long one!
News: what isn’t news this week? We dive into dark mode, Xcode 11, ARKit, RealityKit, Vision OCR, and more.
Focus on Swift 5.1: how opaque return types, function builders, property wrappers, and module stability combine to make SwiftUI possible.
Project Catalyst: now that we can build our iOS apps for macOS, who is going to use it, what advantages and disadvantages does it have, and are we going to see mass adoption?
Open Ballot: What are your early reactions to SwiftUI?
Our sponsor for this episode was MacStadium, provider of Apple Mac infrastructure-as-a-service. If you’re building apps for the Apple ecosystem, learn more about MacStadium’s infrastructure at macstadium.com.
We’re also grateful to AltConf for letting us use their amazing space, to Breaker for recording and mixing the episode, and our wonderful guest hosts for giving up their time to take part. Thanks, everyone!
In this episode: the Apple Developer Academy is open for another year, iOS Dev Jobs launches, we reveal why "Spectre" has British spelling, and ponder what Apple might announce at WWDC19.
Swift over Coffee Live is happening at AltConf 2019! Tickets are free thanks to MacStadium and AltConf, but you need to register for one here: ti.to/altconf/SwiftoverCoffeeLive
Apple Developer Academy registration: https://9to5mac.com/2019/05/16/apple-developer-academy
GitHub sponsors: https://github.com/sponsors
iOS Dev Jobs: https://iosdevjobs.com
Paul's pick: system library targets (SE-0208) – https://github.com/apple/swift-evolution/blob/master/proposals/0208-package-manager-system-library-targets.md
Sean's pick: Spectre retrospective – https://blog.halide.cam/a-spectre-retrospective-part-1-build-a-feature-or-an-app-e9e421015432
Open ballot: What developer changes would you like to see announced at WWDC?
In this episode: Swift hits the front-end of the web, Marzipan creeps closer, Paul talks about the importance of data hiding in Swift 5.1, and we discuss what makes for great code review.
Swift over Coffee Live is happening at AltConf 2019! Tickets are free thanks to MacStadium and AltConf, but you need to register for one here: https://ti.to/altconf/SwiftoverCoffeeLive
Unwrap for iOS: https://www.hackingwithswift.com/unwrap
Swift on WebAssembly: https://swiftwasm.org
SE-0259 - Approximate Equality for Floating Point: https://github.com/apple/swift-evolution/blob/master/proposals/0259-approximately-equal.md
SE-0260 Library Evolution for Stable ABIs: https://github.com/apple/swift-evolution/blob/master/proposals/0260-library-evolution.md
What to Expect From Marzipan: https://blog.iconfactory.com/2019/05/what-to-expect-from-marzipan/
Paul's pick: How to use opaque return types in Swift 5.1 – https://www.hackingwithswift.com/articles/187/how-to-use-opaque-return-types-in-swift-5-1
Sean's pick: Rotato – https://rotato.xyz
Pull request checklists: https://kristina.io/pull-request-checklists
In this episode: Swift 5.1 gathers strength, Realm gets swallowed up by MongoDB, Sean discovers SwiftLint, and we discuss whether Apple Arcade will be good for the indie game development community.
SE-0255 Implicit returns from single-expression functions: https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md
SE-0259 Approximate Equality for Floating Point: https://github.com/apple/swift-evolution/blob/master/proposals/0259-approximately-equal.md
Swift 5.1 snapshots available: https://swift.org/download/
Realm acquired by MongoDB: https://realm.io/blog/mongodb-to-acquire-realm-the-future-is-bright/
Docker Hub security breach: https://thehackernews.com/2019/04/docker-hub-data-breach.html
Paul's pick: Zephyr – https://github.com/ArtSabintsev/Zephyr
Sean's pick: SwiftLint – https://github.com/realm/SwiftLint
Open ballot: Do you think Apple Arcade will be good for the wider iOS game development community?
In this episode: lots of new Swift Evolution proposals are in review, we discuss that TechCrunch article, dive into server-side Swift, and try to figure out how to pronounce “Herbert”.
Swift 5 Officially Released: https://swift.org/blog/swift-5-released/
SE-0246 Generic Math Functions: https://github.com/apple/swift-evolution/blob/master/proposals/0246-mathable.md
SE-0249 KeyPath Expressions as Functions: https://github.com/apple/swift-evolution/blob/master/proposals/0249-key-path-literal-function-expressions.md
SE-0252 Key Path Member Lookup: https://github.com/apple/swift-evolution/blob/master/proposals/0252-keypath-dynamic-member-lookup.md
SE-0248 String Gaps and Missing APIs: https://github.com/apple/swift-evolution/blob/master/proposals/0248-string-gaps-missing-apis.md
SE-0257 Eliding commas from multiline expression lists: https://github.com/apple/swift-evolution/blob/master/proposals/0257-elide-comma.md
SE-0255 Implicit returns from single-expression functions: https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md
Paul’s pick: Whither app developers? – https://techcrunch.com/2019/04/14/whither-native-app-developers/
Sean’s pick: Pacing Ourselves in the Marzipan Marathon – https://blog.curtisherbert.com/pacing-ourselves-in-the-marzipan-marathon/
Open Ballot: Have you experimented with server-side Swift? If so, what are your thoughts, and if not what's holding you back?
In this episode: the Swift style guide marches on to formal review, we pick out our favorite events at iOSCon, and discuss whether it's important for iOS developers to be skilled in more than one platform.
WWDC ticket winners – who got lucky? (Spoiler: it was Paul.) (And not Sean.)
SE-0250: Swift Code Style Guidelines and Formatter – https://github.com/apple/swift-evolution/blob/master/proposals/0250-swift-style-guide-and-formatter.md
SE-0249: Key Path Expressions as Functions – https://github.com/apple/swift-evolution/blob/master/proposals/0249-key-path-literal-function-expressions.md
Paul’s first pick: Gwendolyn Weston's talk "The Business Case For Your Code" – https://skillsmatter.com/skillscasts/11749-keynote-the-business-case-for-your-code
Gwen's book, Intentional Friendships: https://gumroad.com/l/friendsyay
Paul’s second pick: Being able to do some coding with Connie, a young coder, at iOSCon.
Sean’s first pick: Niamh Power's talk "Better Together" – https://skillsmatter.com/skillscasts/13385-better-together
Sean's second pick: Getting to attend his first major conference and meeting lots of other Swift developers.
Open ballot: Should mobile developers be skilled in more than one platform, e.g. Android or React as well as iOS?
Thanks to Skillsmatter in London for hosting our first live podcast episode!
In this episode: WWDC is announced at last, memberwise initializers get better in Swift 5.1, we vent about getting lost in side projects, and discuss Marzipan.
WWDC dates announced: https://developer.apple.com/wwdc19
SE-0242: Synthesize default values for the memberwise initializer – https://github.com/apple/swift-evolution/blob/master/proposals/0242-default-values-memberwise.md
SE-0246: Generic Math Functions – https://github.com/apple/swift-evolution/blob/master/proposals/0246-mathable.md
Paul’s first pick: providesAppNotificationSettings – https://developer.apple.com/documentation/usernotifications/unnotificationsettings/2990404-providesappnotificationsettings
Paul’s second pick: count(where:) was removed from Swift 5.0 – https://twitter.com/AirspeedSwift/status/1102654876394246146?s=20
Sean’s pick: Getting Too Absorbed in Side Projects – https://www.bennettnotes.com/post/getting-too-absorbed-into-your-side-projects/
Open ballot: Make something for macOS now, wait for Marzipan, or ignore it entirely?
In this episode: the first sighting of Swift 5.1, a Swift style guide is on the cards, we talk about toast (the user interface kind!), and look for where there’s still money to be made on the App Store.
Swift 5.1 Release Process: https://swift.org/blog/5-1-release-process/
Pitch for Official Swift Style Guide: https://forums.swift.org/t/pitch-an-official-style-guide-and-formatter-for-swift/21025
Apple allowing developers to offer subscription discounts: https://developer.apple.com/news/?id=02222019a
Paul’s pick – Loaf: https://github.com/schmidyy/Loaf
Sean's pick – A Best in Class iOS App by Jordan Morgan: https://www.swiftjectivec.com/a-best-in-class-app/
Open Ballot: Is there still money to be made on the App Store? If so, how?
In this episode: Swift 5 nears ABI stability, Swift adoption in apps is skyrocketing, we make all our unit tests pass, and discuss how we'd change Swift.
Swift 5 ABI Stability and Evolving Swift on Apple Platforms: https://swift.org/blog/abi-stability-and-apple/
How many apps use Swift in 2019? https://blog.andrewmadsen.com/post/182862756395/how-many-apps-use-swift-in-2019
Esoteric Swift repo by Jesse Squires: https://github.com/jessesquires/esoteric-swift
Apple to require two-factor authentication for developer accounts: https://appleinsider.com/articles/19/02/13/apple-to-require-two-factor-authentication-for-developer-accounts
Paul’s pick - LOLzwagon: https://github.com/DerekSelander/LOLzwagon
Sean's pick - Speeding up development: a collection of tips – https://www.avanderlee.com/optimization/speeding-up-development-a-collection-of-tips/
Open Ballot: If you could change one thing about Swift, what would it be?
In this episode: Xcode ships with a Swift 5 beta, Apple smacks down Facebook and Google, we discuss the value of design, and talk about important knowledge for iOS developers.
Xcode 10.2 includes an early Swift 5 version: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_release_notes
Apple revokes certificates from Google and Facebook: https://www.theverge.com/2019/1/31/18205795/apple-google-blocked-internal-ios-apps-developer-certificate
UIKonf's all-female speaker line up: http://www.uikonf.com/blog/
Paul’s pick - KeyValuePairs: https://www.hackingwithswift.com/example-code/language/what-are-keyvaluepairs
Sean's pick - Designing for iOS Success by Jakub Turek: https://blog.elpassion.com/designing-for-ios-success-e897062f3ebc
Open Ballot: Apart from Swift and framework knowledge, what are key skills for iOS developers?
In this episode: we examine the need for manager objects, look at Swift Package Manager’s rise in popularity, discuss the usefulness of ARKit, and - brace yourself - talk extensively about strings.
The trouble with manager objects: https://sandofsky.com/blog/manager-classes.html
It’s time to use Swift Package Manager: http://artsy.github.io/blog/2019/01/05/its-time-to-use-spm
Advent of Code in Swift: https://medium.com/@ianpartridge/advent-of-code-in-swift-8f631eea63ec
Paul’s pick - Replace Booleans with Two-cased Enumerations: http://narf.pl/posts/2cased
Sean's pick - Dive deep into Swift String: https://flawlessapp.io/blog/dive-deep-into-swift-string
Open Ballot: ARKit - what is it really good for? (Making Sean sing, apparently.)
In this episode: Swift 5 string interpolation gets its first real project, iOS 12 adoption flies ahead, we delve into the (apparently) ancient history of iOS development, and talk about Christmas. Er, WWDC.
Menu bars on iOS: https://codea.io/blog/the-ios-menu/
Templates using string interpolation: https://github.com/ilyapuchka/Interplate
iOS 12 adoption now at 75%: https://9to5mac.com/2019/01/02/ios-12-adoption/
Paul's pick: Storyboards vs programmatic UI – https://twitter.com/twostraws/status/1081181216970366977?s=20
Sean's pick: How iOS Development Has Evolved - http://www.thomashanning.com/how-ios-development-has-evolved-over-the-past-8-years/
Open Ballot: Are you tired of Apple's simultaneous annual releases of all their operating systems, or do you like getting everything bumped all at once?
In this episode: Codable conformance for Range types, string interpolation in Swift 5.0, Paul and Sean discuss their work over 2018 and plans for 2019, and we ask: what would you change about Xcode?
– https://github.com/apple/swift-evolution/blob/master/proposals/0239-codable-range.md
Is gifting in-app purchases coming soon? https://www.macrumors.com/2018/12/19/app-store-in-app-purchase-gifting/
String interpolation changes in Swift 5.0: https://ericasadun.com/2018/12/16/swift-5-interpolation-part-3-dates-and-number-formatters/ and http://alisoftware.github.io/swift/2018/12/15/swift5-stringinterpolation-part1/
Because this is the end-of-year episode, our picks this time were replaced with looking back on 2018, and looking forward to 2019.
Open ballot: What would you change about Xcode?
In this episode: Result comes to the standard library, the App Store is going down for Christmas, Paul replaces Reachability at last, and we discuss how best to contribute to the community.
Sean's book, It's Only Crazy Until You Do It: https://gumroad.com/l/sean-allen-origin
SE-0235, Add Result to the Standard Library: https://github.com/apple/swift-evolution/blob/master/proposals/0235-add-result.md
How to game the App Store: http://davidbarnard.com/post/180568817995/how-to-game-the-app-store
App Store Connect shutdown schedule: https://developer.apple.com/news/?id=11272018
Contributing to the Swift Benchmark Suite: https://patrickbalestra.com/blog/2018/11/12/contributing-to-the-swift-benchmark-suite.html
Pointfree’s new snapshot library: https://github.com/pointfreeco/swift-snapshot-testing
Paul's pick: NWPathMonitor – https://developer.apple.com/documentation/network/nwpathmonitor
Sean's pick: Programming Sucks – https://www.stilldrinking.org/programming-sucks
Open Ballot: what's the best way to contribute to the Swift community?
In this episode: community news galore, more great features from Swift 5.0, coding tips from the 80s, plus our open ballot: what’s your favorite part of writing iOS apps with Swift?
Swift 5.0 has been branched: https://swift.org/blog/5-0-release-process/
SE-0231, optional iteration, has been rejected: https://github.com/apple/swift-evolution/blob/master/proposals/0231-optional-iteration.md
WeTransfer's URLProtocol mock: https://github.com/WeTransfer/Mocker
Black Friday sales on Swift books: https://www.hackingwithswift.com/articles/133/black-friday-2018-save-money-on-swift-books
Swift Community Awards 2018: https://www.hackingwithswift.com/awards
Paul's pick: SE-0216, @dynamicCallable – https://github.com/apple/swift-evolution/blob/master/proposals/0216-dynamic-callable.md
Sean's pick: Coding, burnout, and mental health – https://medium.com/@PaulDJohnston/coding-burnout-and-mental-health-32715fb5727e
Coding tips written 30 years ago: https://twitter.com/spine_cone/status/1054210656876953603?s=20
Lumina: https://github.com/dokun1/Lumina
In this episode: Swift's strings are now stored as UTF-8, Sherlock lets you poke around in iOS layouts, Paul talks about mocking networking more easily, and we talk about whether surprise and delight in user interfaces is important.
Testing Swift: https://www.hackingwithswift.com/store/testing-swift
String's ABI and UTF-8: https://forums.swift.org/t/string-s-abi-and-utf-8/17676
Apple's October event: https://www.apple.com/apple-events/october-2018/
Sherlock: https://sherlock.inspiredcode.io/
App Store Connect API: https://developer.apple.com/app-store-connect/api/
Paul's Pick: the protocolClasses property of URLSessionConfiguration: https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1411050-protocolclasses
Sean's Pick: Embracing the deadline: How engineers benefit from delivery dates: https://www.intercom.com/blog/embracing-the-deadline-how-engineers-benefit-from-delivery-dates/
Open Ballot: Should UIs surprise and delight users, or is it better to be functional?
Apple's old Passbook deletion animation: https://www.youtube.com/watch?v=3CgfaxJogEY
In this episode: flattening nested optionals is accepted as optional iteration is being reviewed, Apple works on a project to support the language server protocol, Sean talks about Airbnb's Lottie framework, and we discuss the importance of good testing.
SE-0230: Flatten nested optionals resulting from 'try?' – https://github.com/apple/swift-evolution/blob/master/proposals/0230-flatten-optional-try.md
SE-0231: Optional Iteration – https://github.com/apple/swift-evolution/blob/master/proposals/0231-optional-iteration.md
New LSP language service supporting Swift and C-family languages for any editor and platform – https://forums.swift.org/t/new-lsp-language-service-supporting-swift-and-c-family-languages-for-any-editor-and-platform/17024
App Bundles Now Support Mac Apps and Free Apps with Subscriptions – https://developer.apple.com/news/?id=10162018
Paul's Pick: "Boy, Have I Been Misusing SCNetworkReachability" – http://blog.jaredsinclair.com/post/179083065595/til-boy-have-i-been-misusing
Sean's Pick: Lottie, from Airbnb – https://airbnb.design/lottie/
Open Ballot: What’s the best way to make sure your code is thoroughly tested?
The iOS testing pyramid: http://cleanswifter.com/proposed-ios-testing-pyramid/
In this episode: iOS 12.0 is picking up speed while 12.1 is already on the way, we dive into DispatchGroup and font metrics, and talk about the many challenges of learning and implementing the latest Swift features.
Add your nominations to the Swift Community Awards: https://www.hackingwithswift.com/awards
iOS 12 adoption is already past 50%: https://www.macrumors.com/2018/10/11/ios-12-installed-on-53-percent-of-devices/
More than 70 new emoji in iOS 12.1: https://www.apple.com/newsroom/2018/10/apple-brings-more-than-70-new-emoji-to-iphone-with-ios-12-1/
SE-0230: Flatten nested optionals resulting from 'try?' – https://github.com/apple/swift-evolution/blob/master/proposals/0230-flatten-optional-try.md
We can now delete old apps from App Store Connect: https://itunespartner.apple.com/en/apps/news/100002355
Paul's pick of the week: DispatchGroup – https://developer.apple.com/documentation/dispatch/dispatchgroup
Sean's pick of the week: UIFontMetrics – https://developer.apple.com/documentation/uikit/uifontmetrics
Open Ballot: How do you keep up with the evolution of Swift?
In this episode: Swift 4.2 lands as Swift 5.0 starts to inch closer, Apple gives TestFlight links to the world, we watch Phil Schiller's infamous Jump video for the hundredth time, and Sean admires the sheer mathematical beauty of Bézier curves.
Swift 4.2 is out!
Swift 5.0 release plan: https://swift.org/blog/5-0-release-process/
Public Test Flight links: https://developer.apple.com/news/?id=09262018a
NSFW Detector: https://github.com/lovoo/NSFWDetector
Apple's use of Swift in iOS 12: https://blog.timac.org/2018/0924-state-of-swift-ios12/
Phil Schiller jumps off a ledge: https://www.youtube.com/watch?v=1MR4R5LdrJw
An Oral History of Infinite Loop: https://www.wired.com/story/apple-infinite-loop-oral-history
Sean's animation: https://twitter.com/seanallen_dev/status/1044287956469473280
Bézier Curves Under the Hood: https://vimeo.com/106757336
Ben Scheirman's Bézier curves talk: https://www.youtube.com/watch?v=7e13FierAF8
In this episode: it's iOS conference season, new devices from Apple, the first tips for Swift 5, and we look at what makes a great job interview for Swift developers.
iOSDevUK (https://www.iosdevuk.com), Swift & Fika (http://www.swiftandfika.com), and NSSpain (https://2018.nsspain.com).
Optional binding for self: https://github.com/apple/swift-evolution/blob/master/proposals/0079-upgrade-self-from-weak-to-strong.md
Building Apps for iPhone XS: https://developer.apple.com/videos/play/tech-talks/207/
Paul's Pick: compactMapValues() is coming in Swift 5 – https://github.com/apple/swift-evolution/blob/master/proposals/0218-introduce-compact-map-values.md
Sean's Pick: Surfacing Shortcuts by Joe Cieplinski – https://joecieplinski.com/blog/2018/09/11/surfacing-shortcuts/
In this episode: raw strings are back in review, Dynamic Type is more popular than you realize, and we look at ways to fix massive view controllers.
Raw strings: https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md
xkcd backslashes: https://xkcd.com/1638
40% of users use Dynamic Type: https://twitter.com/browgrammer/status/1031630345551065089
The Swift team are working on Docker support: https://forums.swift.org/t/kickstarting-new-official-docker-support-for-swift/15487
Paul's pick: SE-0225 shows that Swift Evolution is working well.
Sean's pick: SpriteKit is awesome!
Dave DeLong's talk at App Builders: https://youtu.be/YWVzCd5FYbs
Soroush Khanlou, The Coordinator: http://khanlou.com/2015/01/the-coordinator
How to use the coordinator pattern in iOS apps: https://www.hackingwithswift.com/articles/71/how-to-use-the-coordinator-pattern-in-ios-apps