iOS Dev Weekly - iOS Dev Weekly - Issue 586

What's the difference between a package registry and a package index? šŸ¤·ā€ā™‚ļø
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 586  November 25th 2022

 
Comment

  Comment  

 

Having a visible evolution process for the Swift language is great, but it can be easy to get tied up in the weeds of specific proposals and lose the broader picture, so it was great to see John McCallā€™s post about the Swift projectā€™s plans for 2023.

You should read the whole post, but I was delighted to see a section on a topic close to my heart: Package registries.

It might have been a while since you heard mention of package registries, but they are a critical part of a robust package ecosystem. Your current interaction with Swift packages is from your package manifest directly through to their git repositories. That works well on a basic level, but while git repositories work exceptionally well for code development, theyā€™re not a great repository for package artefact storage. The most serious problem by far is that they are not immutable. Git tags can be moved around, meaning that what two consumers have as a specific version may not be identical. šŸ˜¬ There are other problems, though. Itā€™s not great to download the entire commit history of a package to use it, and donā€™t forget that git repositories can move around or change owner. Tying everything to a git URL isnā€™t perfect.

Package registries solve that by providing a mechanism to deliver guaranteed, compressed versions of packages from a stable location. Anyone can make a registry, too, so it wonā€™t necessarily be a centralised repository hosted by just one company, although weā€™ll see how that plays out in reality! The client side of package registry support was implemented in Swift 5.7, but you almost certainly wonā€™t have used it yet, because there is no public package registry, and thatā€™s what Apple is announcing in this post. They will be creating an open-source implementation of a package registry server. Exciting news!

Where does that leave the Swift Package Index? Our plan has always been to support package registries as soon as they gain adoption, and we will work with Apple as they implement the package registry service. Once implemented, we will aggregate and provide discovery for packages, just as we do today.

Swift already has a great package ecosystem, and I couldnā€™t be happier to hear this announcement. šŸŽ‰

Dave Verwer

 
 

  Sponsored Link  

 

Mobile Testing Made Easy

Waldo provides your team with the managed infrastructure and tooling you need to quickly build and maintain your automated tests. Try it for free today!

waldo.com

 
 
 

  News  

 

Black Friday Deals

Happy Thanksgiving to those who celebrate it, and Happy Black Friday to everyone, as that has certainly become a worldwide phenomenon in the last few years. šŸ˜¬

This repository, maintained by Marius Landwehr gets better every year. This year there are hundreds of Black Friday offers if you want to grab a bargain on a book, training course, or app.

github.com

 

Q&A: 10 Questions with Design Evangelism

This is great. Itā€™s a conversation with the Apple Design Evangelism team, and itā€™s well-written and full of great tips. Itā€™s certainly worth a read.

Iā€™ll also repeat my request that this format would be a great way for Apple to summarise the content from the ā€œdigital loungeā€ Slack sessions that have been part of WWDC and the Ask Apple events.

apple.com

 
 

  Tools  

 

AppDab

Wouldnā€™t it be better if you use a native app to manage your App Store listings, devices, certificates, and many of the other things that App Store Connect can do? Hereā€™s Morten Bjerg Gregersen with a brand new app that does exactly that. Itā€™s free to manage one app, paid if you have more than one, and it looks great.

One thing that made me smile is that the ā€œfeatureā€ of this app remembering your device, so you donā€™t need to 2FA every single time, is mentioned almost at the top of the App Store listing for the app. I really wish Apple would either remove that ā€œTrustā€ button or fix whatever stops it working.

appdab.app

 
 

  Code  

 

Using complex gestures in a ScrollView

There are some good tips in this article from Daniel Saidi for enabling multiple gestures to work together with SwiftUI. However, whenever you need the techniques in this article, Iā€™d also spend a few minutes considering whether there may be another way to organise your UI so you donā€™t need multiple gestures. Gestures are great, but it can be easy to make the UI more challenging for your users as well as the code for you!

danielsaidi.com

 

Better SwiftUI navigation APIs

Navigation was one of Appleā€™s major areas of focus with this yearā€™s SwiftUI updates, but that doesnā€™t mean itā€™s perfect! Thatā€™s what Brandon Williams and Stephen Celis have written about here, with an update to their swiftui-navigation library.

pointfree.co

 

Developing Apps with the HomeKit Accessory Simulator

If youā€™ve never worked with HomeKit, you may not be aware that Apple provide a HomeKit Accessory Simulator. I certainly had no idea! Luckily, Moritz Philip Recke has written up a great post showing us what it can do.

createwithswift.com

 

Redacting information in Lock Screen Widgets

Letā€™s finish this weekā€™s code links with a quick tip from Alexander WeiƟ about considering what information you might like to hide in your Lock Screen widgets. šŸ¤«

alexanderweiss.dev

 
 

  Design  

 

Icon speedrun guides

I always loved it when Marc Edwards would tweet an icon speedrun, and while I learned a lot from them, I sometimes wished I could understand more of what he was doing. Wouldnā€™t it be great if he wrote up some guides? šŸ¤Æ The one linked above is the pushpin, but he also wrote up the flag, pen nib, and fingerprint. šŸŽ‰

bjango.com

 
 

  Jobs  

 

iOS SDK Developer @ Stream ā€“ Do you want to work on an open-source chat SDK used by hundreds of high-profile companies and startups that impact billions of users? If you are a product-minded engineer and care about software quality, apply on the link below. ā€“ Remote (within European timezones) or on-site (Netherlands)

Freelance Interview Engineer (US Only) @ Karat ā€“ We're dedicated to improving access in tech. If you are too, join us as a Karat Interview Engineer. As such, you'll conduct technical interviews of developers like you on behalf of our hiring clients (including Duolingo, Indeed, and more) using the Karat Platform and its data-tested questions. ā€“ Remote (within US timezones)

Senior Swift (iOS) Developer @ Nord Security ā€“ iOS developer has an essential role in growing the NordPass product and a lot of freedom to make an impact. There is plenty of space for experiments and constant improvement. You would be a part of a very ambitious and enthusiastic team which gives a lot of support and encouragement every day. ā€“ Remote (within European timezones)

Senior iOS Engineer @ Doximity ā€“ Doximity, the medical network used by over 80% of US clinicians, is hiring passionate iOS engineers (fully remote!). Come be part of an amazing product team + work on an app that is constantly evolving. Use your skills (Swift, TCA, Combine) to be an integral part of our growing telemed feature. ā€“ Remote (within US timezones)

Native iOS Engineer @ MartianCraft ā€“ Are you someone who enjoys collaboratively solving challenging problems? At MartianCraft, we work together to create innovative software for our clients. Youā€™ll always be surrounded by the best and brightest in the industry. ā€“ Remote (within US timezones)

 
 

  And finally...  

 

If you thought web3 was going badly, Twitter is asking web3 to hold its beer. šŸ˜¬

 
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
 
 

 
 
Ā©2022 iOS Dev Weekly | Privacy Policy | Twitter | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 585

Friday, November 18, 2022

Are you ready to take your code samples and documentation to a whole new level? Apple isn't, but they will be! 🚀 View on the Web Archives ISSUE 585 November 18th 2022 Comment Like Marco Eidinger, I

iOS Dev Weekly - Issue 584

Friday, November 11, 2022

Does the world need another tech podcast? It absolutely does not. Have we made one anyway? Yes we have. 😅 View on the Web Archives ISSUE 584 November 11th 2022 Comment I've not talked about it in

iOS Dev Weekly - Issue 583

Friday, November 4, 2022

Should the App Store have ads? 🤷‍♂️ View on the Web Archives ISSUE 583 November 4th 2022 Comment I'm not against adverts. How could I be? I make a significant portion of my income from sponsorship

iOS Dev Weekly - Issue 582

Friday, October 28, 2022

Is it time to check that your App Store review demo account still works? 😅 View on the Web Archives ISSUE 582 October 28th 2022 Comment Along with this week's operating system releases, Apple made

iOS Dev Weekly - Issue 581

Friday, October 21, 2022

What languages and tools do you reach for to write that utility tool that'll save you time? 🎲 View on the Web Archives ISSUE 581 October 21st 2022 Comment In previous years, I'd have reached

You Might Also Like

Dark forest, bad art and paying to bike

Saturday, December 28, 2024

Neologism #24, 28.12.2024 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Weekend Reading — Happy New Year! 🥳

Saturday, December 28, 2024

Vitalis 🇺🇦 The most original and unusual landmark in Odesa, which has become a symbol of the creativity of Odesa residents. Tech Stuff Cursor I really really like Cursor. I had a great time using VS

Daily Coding Problem: Problem #1651 [Hard]

Saturday, December 28, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Apple. You are going on a road trip, and would like to create a suitable music playlist.

📺 There's Still A Place for Universal Remotes — 10 Apps I Always Install on a New Mac

Saturday, December 28, 2024

Also: How to Add Emails to Your Tasks To-Do List in Gmail, and More! How-To Geek Logo December 28, 2024 Did You Know In December 2014, two con men from Girona, Spain, agreed to sell a fake Francisco de

Ranked | The World's Top 30 Countries, by Automobiles Manufactured 🚙

Saturday, December 28, 2024

In 2023, China led global car production, contributing nearly a third of total output. Which countries followed in this competitive industry? View Online | Subscribe | Download Our App FEATURED STORY

🐍 New Python tutorials on Real Python

Saturday, December 28, 2024

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: Learn From 2024's Most Popular Python

15,000+ Four-Faith Routers Exposed to New Exploit Due to Default Credentials

Saturday, December 28, 2024

THN Daily Updates Newsletter cover Resilient Cybersecurity ($39.99 Value) FREE for a Limited Time Reconstruct your defense strategy in an evolving cyber world Download Now Sponsored LATEST NEWS Dec 28,

Hands Down One Of The Best Cards For 2025 Offering 0% interest until 2026

Saturday, December 28, 2024

iPhoneLife Logo Sponsored email sent by iPhone Life Hands Down One Of The Best Cards For 2025 Offering 0% interest until 2026 If you have outstanding credit card debt, getting a new 0% intro APR credit

📧 What Rewriting a 40-Year-Old Project Taught Me About Software Development

Saturday, December 28, 2024

​ What Rewriting a 40-Year-Old Project Taught Me About Software Development Read on: m​y website / Read time: 7 minutes The .NET Weekly is brought to you by: As the year wraps up, it's clear API

This Week in Rust #579

Saturday, December 28, 2024

Email isn't displaying correctly? Read this e-mail on the Web This Week in Rust issue 579 — 25 DEC 2024 Hello and welcome to another issue of This Week in Rust! Rust is a programming language