iOS Dev Weekly - iOS Dev Weekly - Issue 625

Running all the tests is for pre-commit hooks and CI only!
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 625  September 1st 2023

 
Comment

  Comment  

 

I noticed Mike Gerasimenko’s new XcodeSelectiveTesting library this week, and it set me thinking about how we run tests in Xcode compared to my previous experience with other development environments.

Mike’s library uses Test Plans to reduce the number of tests that need to be executed based on calculating what tests have been affected by the files you’ve changed. Of course, you’ll still want to run your complete test suite regularly, but when tests break, there are real benefits to getting quick feedback, and running fewer tests is a great way to make your tests run faster!

My main experience developing with other languages comes from writing Ruby code, where I found guard invaluable. It’s a tool that runs alongside your editor and runs any affected tests whenever you save any file in your project. It changed how I used tests, as the effects of any changes were instantly apparent, and I still use it every time I need to change a Ruby project.

Compare that to how I work today, where our test suite on you know what takes over two minutes to run. As a result, I run the tests far less often and sometimes only figure out I’ve broken something when CI tells me. 😬

I know it’s early for feature requests for Xcode 16, and I know that with Swift being a compiled language, it won’t be easy to reach the same level of convenience as seeing test results a second or two after saving a file. However, I’d love to see Apple move towards a model that makes what Mike is doing with XcodeSelectiveTesting unnecessary and towards having Xcode give developers constant feedback from test suites.

Dave Verwer  Permalink

 
 

  Sponsored Link  

 

Fast, AI-powered test automation for web and mobile with Testim

We're built to help Agile teams efficiently manage and scale their automation projects. Quickly author AI-stabilized UI and end-to-end tests on real and virtual devices. Learn more about Testim Mobile.

testim.io  Permalink

 
 
 

  News  

 

Special Apple Event

I don't expect much Vision Pro news at this event. Instead, I expect it to focus on the products that fund the development of the Vision Pro and visionOS! 🏦

apple.com  Permalink

 
 

  Tools  

 

Automated accessibility audits in Xcode 15

I love that Xcode 15 allows you to get an accessibility audit from any UI test and report issues as test failures. How? There’s a WWDC video or this post from Pol Piella where he also talks about integrating these tests into your CI process.

polpiella.dev  Permalink

 
 

  Code  

 

Enabling drag reordering in SwiftUI lazy grids and stacks

Do you want the drag and “get the other stuff out of the way and show me where I’m about to drop this thing” (yes, that’s the technical name! 😂) behaviour of SwiftUI’s List for lazy grids and stacks? Daniel Saidi, Kai Zheng, and Roman Mirzoyan have just what you need. This feels like a real community effort!

danielsaidi.com  Permalink

 

Running Code When Your View Appears

Is there a difference between task and onAppear view modifiers when setting up a SwiftUI view’s state? It turns out there is, as Chris Eidhof explains.

eidhof.nl  Permalink

 

Swift Typo Detector

What’s the next step after Manu Herrera’s script to find all of the typos and spelling mistakes in your source code? Unit tests for comments? 💡

manu.show  Permalink

 
 

  Design  

 

Plussing your iOS app

What a great set of tips on “plussing” your app from Sam Gold. The suggestion to colour grade your dark and light views is especially effective, in my experience.

lickability.com  Permalink

 
 

  Business and Marketing  

 

RevenueCat Paywalls

There will always be some apps that need more than a “standard” paywall UI, but what most apps need is to get the basics right. Tell potential customers what they’ll get, explain your pricing, and show a big purchase button. The thing is, it’s so easy to mess it up! You might break an App Store rule or, even worse, make something that doesn’t convert. I love the idea of making this easier, and with support for experiments, too, this looks compelling. I wish Apple had tackled this problem!

For full disclosure, RevenueCat is a regular sponsor of this newsletter, but I found this announcement through their blog’s RSS feed.

revenuecat.com  Permalink

 
 

  Jobs  

 

Software Engineer, macOS @ Raycast – Build something you actually use. Ship every two weeks. No bureaucracy bs. Hack on ideas every Friday. Location-independent salary. Remote, UTC ± 3 hours. – Remote (within European timezones)

 Permalink

 

Is your company hiring? You can still list open positions for free on iOS Dev Jobs.

 Permalink

 
 

  And finally...  

 

The Apple & Grand Theft Auto mashup you didn’t know you needed. 🚨

 Permalink

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 

RSS

 
©2023 iOS Dev Weekly | Privacy Policy | Mastodon | Twitter | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 624

Friday, August 25, 2023

How do you keep the files you're working on easily at hand? Here's how I do it. 🚀 View on the Web Archives ISSUE 624 August 25th 2023 Comment It's been a while since I wrote anything

iOS Dev Weekly - Issue 623

Friday, August 18, 2023

Welcome to swift-iOS-Dev-Weekly! 🤣 View on the Web Archives ISSUE 623 August 18th 2023 Comment If you've listened to the last couple of episodes of the Swift Package Index podcast, Swift Package

iOS Dev Weekly - Issue 622

Monday, August 14, 2023

Have you ever considered starting a blog? View on the Web Archives ISSUE 622 August 11th 2023 Comment I recently read this post from Danijela Vrzan on reaching one year of blogging about Swift. She

iOS Dev Weekly - Issue 621

Friday, August 4, 2023

Is it finally time for a quick take on SwiftData? 📸 View on the Web Archives ISSUE 621 August 4th 2023 Comment I've struggled to know what to write about SwiftData since its debut a few weeks ago,

iOS Dev Weekly - Issue 620

Friday, July 28, 2023

Do you want to get a Vision Pro all for yourself, spend a day with one, or have someone else spend time with one for you? 🥽 View on the Web Archives ISSUE 620 July 28th 2023 Comment I won't go into

You Might Also Like

The Stanford Grad Who Forgot How To Think

Tuesday, December 24, 2024

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 24, 2024? The

The next big HDMI leap is coming

Tuesday, December 24, 2024

Sora side hustles; Casio's tiny watch comes to the US -- ZDNET ZDNET Tech Today - US December 24, 2024 Ecovacs Deebot T30S Combo robot vacuum and mop The next big HDMI leap is coming next month -

⚙️ Robo-suits

Tuesday, December 24, 2024

Plus: The data center energy surge ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Apache Tomcat Vulnerability CVE-2024-56337 Exposes Servers to RCE Attacks

Tuesday, December 24, 2024

THN Daily Updates Newsletter cover The Data Science Handbook, 2nd Edition ($60.00 Value) FREE for a Limited Time Practical, accessible guide to becoming a data scientist, updated to include the latest

Edge 459: Quantization Plus Distillation

Tuesday, December 24, 2024

Some insights into quantized distillation ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Prepare for a Lifetime of Adventure with Rosetta Stone

Tuesday, December 24, 2024

The Perfect Gift For Every Traveler on Your List Rosetta Stone makes it easy to connect with the world in a whole new way. With a Lifetime Unlimited plan, users can access 25 languages to prepare for

Tuesday Triage #232

Tuesday, December 24, 2024

Your weekly crème de la crème of the Internet is here! The 232nd edition featuring fish traps, little Mussolinis, and volvelles. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Elastic Community Newsletter

Tuesday, December 24, 2024

Check out the latest from the Elastic Community ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ elastic | Search. Observe. Protect community-newsletter-header-img.png

Daily Coding Problem: Problem #1646 [Medium]

Monday, December 23, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Write a function that rotates a list by k elements. For example, [1, 2, 3, 4,

GCP Newsletter #430

Monday, December 23, 2024

Welcome to issue #430 December 23rd, 2024 News Event Official Blog Calling all devs: Code the future of baseball with Google Cloud and MLB - Google Cloud and MLB are hosting a hackathon where