Happy Thursday! One post that really took off this week was iOS Performance tips you probably didn’t know (from an ex-Apple engineer), by @ronyfadel. Go ahead and read it, it’s very interesting. The post has spurred a lot of discussion on Twitter, and I’m happy with the way the author has incorporated the feedback received into his post: as the updated version also says, make sure you measure before applying those optimizations, try to avoid premature optimization and in general, avoid optimizing based on implementation details in code you don’t control and don’t have access to, as it can backfire in future updates. On to the links!
Happy Thursday! We’ve now had around a week to look more into Xcode 11.4 and it is an amazing dot release. The community was very quick to jump on it too, and I’m very happy about that. The feature that seemed to have excited people the most was push notifications in the simulator, and there are an article and a tool in today’s edition that help you with that. Let’s go to this week’s links!
- Scalable UI Tests for iOS Applications, by @rus64
- How to expand and contract height of a UITableView cell when tapped, by @soulchildpls
- Expand and Collapse List Rows with Animation in SwiftUI, by @V8tr
- How to build SwiftUI style UICollectionView data source in Swift, by @onmyway133
- Testing Remote Push Notification in iOS simulator, by @sarunw
- Start your A/B testing journey with SwiftUI, by @benoitpasquier_
- Creating Haptic Feedback in iOS 13 With Core Haptics, by @ExyteHQ
- How I Implemented a Swift HTTP Request Helper Without a Working Server, by @Lee_Kah_Seng
- Xcode’s Find Navigator & Search Scopes, by @BalestraPatrick
- Customizing the shape of views in SwiftUI, by @mecid
Happy Thursday! The first beta of Xcode 11.4 is out, and it’s a big one 😁. Go read the release notes and I’m sure you’ll find at least a few things that will make you happy. Swift 5.2? Support for push notifications in the simulator? iOS/macOS bundles and universal purchases? A fix for that annoying bug that doesn’t let you add a 0 constant constraint in Interface Builder? Huge improvements for XCTest? I’ve been having fun watching the reactions on Twitter, and there really is something for everyone. A lot of people were excited for different things. Great job by the people working on dev tools at Apple! 👏
- Swift Crypto – Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms, by Apple
- URLFormat – Type safe url pattern matching without regular expressions and arguments type mismatches based on parser combinators, by @ilyapuchka
Happy Thursday! I’ve featured Dave Verwer’s iOS Dev directory last year. Now, there’s a very nice project built on top of it. Andrew Yates built iOS Dev Blogs, a feed that aggregates content from the iOS Dev Directory. It’s a really good resource if you want to stay up to date with what’s being published in the iOS dev community. Beware, though, there’s a lot of content 😁.
- How to implement dynamic height table view cell, by @soulchildpls
- Any & AnyObject in iOS, by Nitin Aggarwal
- Test Doubles in Swift: Dummy, Fake, Stub, Mock, by @Lee_Kah_Seng
- How to make your iOS app smarter with sentiment analysis, by @Benoit Pasquier
- Using UIKit views in SwiftUI, by @mecid
- Intrinsic content size in SwiftUI, by @sarunw
- Swift’s closure capturing mechanics, by @johnsundell
- Xcode Test Plans, by @kharrison
- iOS App Security: Best Practices, by @kofse
Happy Thursday! It’s (still) the beginning of a new year, so it’s time to think if you want to attend a conference this year. Or maybe even speak at one? Conferences are great places to meet like-minded people, and if you can attend one, or speak at one, I would totally encourage you to do it. But which conference to choose? There’s this already classic link where you can see all the announced upcoming conferences, which has a new awesome feature: get an
.ics file with the conferences and import it in your calendar, or subscribe to it Google Calendar.
In other news, Ted Kremenek posted about the road to Swift 6 and I must say, it sounds very good. They had me at “Faster builds” 😁.
- Reducing iOS Build Times by using Interface Targets, by @rockthebruno
- Uniform Type Identifier Bug on iOS — and How It Affects NetNewsWire, by @brentsimmons
- Refactoring a networking layer to use Combine, by @donnywals
- Certificate Pinning in iOS, by Karol Piątek
- Enumerating elements in ForEach, by @olebegemann
- Ignorance of the URLRequest cache by @fassko
- Localization with SwiftUI, how to preview your localized content, by @BenoitPasquier_
- Asynchronous Programming with Futures and Promises in Swift with Combine Framework, by @V8tr
- Using CoreData with SwiftUI, by @toomasvahter
- Sign in with Apple, Part 4: Web and Other Platforms, by @sarunw
- Optimizing views in SwiftUI using EquatableView, by @mecid
- andreaslydemann, LisaDziuba, karolpiateknet,fassko, jasonzurita, V8tr, AppsDissected, rbarbosa, mecid, sarunw, EnnioMa
Happy Thursday! This week we got Xcode 11.3.1, Apple announced that starting April 2020 apps submitted to the store will need to use a storyboard for the app’s launch screen, and Swift for Good, an awesome Swift book that gives all its revenue to charity was released – go get your copy and spread the word about it!
- ViewState in SwiftUI using ViewBuilder, by @thomassivilay
- Functions in Swift: Pure, Higher-Order and First-Class Functions, Currying and Partial Application, by @V8tr
- Move view when keyboard is shown (guide), by @soulchildpls
- The magic of view preferences in SwiftUI, by @mecid
- Understanding Combine’s Publishers and Subscribers, by @donnywals
- Optionals in Swift Objective-C Interoperability, by @fcanas
- Goodbye, Clean Code, by @dan_abramov
- Adopting UIAppearance in Custom Views , by @akashivskyy
Happy Thursday! Apple released the Swift 5.2 nightly development snapshots, and we’ve got plenty of awesome links for you this week! Enjoy!
- Continuous Integration Using GitHub Actions for iOS Projects, by @andreaslydemann
- Using Type Erasure to Build a Dependency Injecting Routing Framework in Swift, by @rockthebruno
- Practical Functional Programming in Swift: The Fundamentals, by @V8tr
- Why I quit using the ObservableObject in SwiftUI, by @nallexn
- Sign in with Apple – Part 1: Apps, Part 2: Private Email Relay Service and Part 3: Backend – Token verification, by @sarunw
- Running XPC Activities On Demand, by @brycepauken
- Building networking layer using functions, by @mecid
- The iOS internationalization basics I keep forgetting, by @albertodebo
- How to make an augmented reality decorating experience app with AR Quick Look, by @RoxanaJula
- Cross-platform with Kotlin/Native at PlanGrid, by @benasher44 and @vasarhelyia
- EXC_BAD_ACCESS crash error: Understanding and solving it, by @twannl
- Xcode Preview Snips, by @jordanmorgan10
Happy Thursday! And happy new year! 🥂 Here’s to another year of iOS Goodies!
Happy Thursday! This week Apple announced that new apps using
UIWebView will not be accepted on the App Store starting April 2020; same thing for app updates, but the deadline is December 2020. So now it’s really time to replace the