📝 New blog post: A better setup for SwiftData + CloudKit apps craftingswift.dev/articles/a-b... When you are dealing with versioned SwiftData and CloudKit Development and Production environments the default setup will break syncing while developing in Xcode.
Felipe Espinoza
Felipe Espinoza
@craftingswift.dev
iOS and macOS developer. 🇨🇱🇳🇴. Youtuber (http://youtube.com/@craftingswift). Hobby designer, photographer and illustrator.
83 followers59 following138 posts
I had a great experience in www.nextappcon.com both as an attendee and speaker. I'm looking forward to seeing the video of my talk about Snapshot Testing, but also all the other talks that I couldn't see due multiple tracks... lots of interesting things going on.
📝 New blog post: How SwiftData + CloudKit works? And when to use them? The essentials of those technologies to help you decide if to invest them or not craftingswift.dev/articles/how... #swiftdata #cloudkit #appledev #ios
🎬 The next part of my SwiftData + CloudKit series is out! This time, I cover the common issues you may have after deploying your app to the App Store when want to make changes. #appledeveloper #iOS #swiftdata #cloudkit
I will answer - How to change your SwiftData models safely? - How does this work with CloudKit? - How to fix your development setup so you don't mess your syncing? (👈 this one took me a while to understand) www.youtube.com/watch?v=87i0...
This is the first video of my new series, covering all practical aspects of the SwiftData + CloudKit combination. This one is about basics + when they are a good fit #swiftdata #cloudkit #appledeveloper www.youtube.com/watch?v=fpKB...
Everything but the code is an amazing book, which is on sale until tomorrow. It's a great time to get it, if you wanna know why is so cool, you can check my video about it link to the sale: www.hackingwithswift.com/offers youtu.be/DdSEMSlh2ko
With WWDC26 coming and a lot of sessions to watch, I will keep track of them in Notion again. It has been great to manage my learning. It can help you as well youtu.be/tEAS5rUfMLE?... #wwdc #wwdc26 #developer #iOS
Today I talk about @twostraws.bsky.social's book: "Everything but the Code" It's a really impactful book for iOS developers. It just happen to be 50% of right now I think it's simply a MUST for iOS devs #bookRecommendation #iOS #appleDevelopment youtu.be/DdSEMSlh2ko
Today I share a small tip to use SwiftTesting: `CustomTestStringConvertible`. It’s a neat protocol to improve the output of your parameterized tests. craftingswift.dev/articles/imp... #swiftTesting #quickTip
Felipe Espinoza reposted
🧩 𝐷𝑒𝑓𝑎𝑢𝑙𝑡𝑠 𝑎𝑛𝑑 𝑜𝑣𝑒𝑟𝑟𝑖𝑑𝑒𝑠 𝑓𝑜𝑟 𝐹𝑎𝑐𝑡𝑜𝑟𝑦 𝑐𝑜𝑛𝑡𝑒𝑥𝑡𝑠 𝑤𝑖𝑡ℎ 𝐹𝑎𝑐𝑡𝑜𝑟𝑦𝐾𝑖𝑡 by Felipe Espinoza (@fespinozacast.bsky.social) FactoryKit's global state can silently bypass test overrides. Use .𝑜𝑛𝑐𝑒() and 𝐴𝑢𝑡𝑜𝑅𝑒𝑔𝑖𝑠𝑡𝑒𝑟𝑖𝑛𝑔 to make mocks resolve correctly every time. #Swift #SwiftUI craftingswift.dev/articles/def...
Felipe Espinoza reposted
📢 𝗜𝘀𝘀𝘂𝗲 𝟴𝟵 𝗶𝘀 𝗼𝘂𝘁! Highlights: 🤖 𝑁𝑒𝑡𝑤𝑜𝑟𝑘 𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑡𝑖𝑜𝑛 𝑣𝑖𝑎 𝐴𝐼 𝐴𝑔𝑒𝑛𝑡𝑠 📷 𝑂𝐶𝑅 𝑤𝑖𝑡ℎ 𝑉𝑖𝑠𝑖𝑜𝑛 🧩 𝐹𝑎𝑐𝑡𝑜𝑟𝑦𝐾𝑖𝑡 𝐷𝑒𝑓𝑎𝑢𝑙𝑡𝑠 & 𝑂𝑣𝑒𝑟𝑟𝑖𝑑𝑒𝑠 📜 𝑆𝑐𝑟𝑜𝑙𝑙𝑉𝑖𝑒𝑤 𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 🌐 𝑆𝑡𝑎𝑡𝑖𝑐 𝑆𝑖𝑡𝑒 𝐵𝑢𝑖𝑙𝑑𝑒𝑟 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 ⚙️ 𝑚𝑎𝑐𝑂𝑆 𝑆𝑦𝑠𝑡𝑒𝑚-𝑊𝑖𝑑𝑒 𝑆𝑒𝑟𝑣𝑖𝑐𝑒𝑠 🔍 𝑀𝑒𝑚𝑜𝑟𝑦 𝐿𝑒𝑎𝑘𝑠 ♿ 𝐴𝑐𝑐𝑒𝑠𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝑁𝑢𝑡𝑟𝑖𝑡𝑖𝑜𝑛 𝐿𝑎𝑏𝑒𝑙𝑠 #iOSDev #Swift
✍️ new blog post! I wrote my experience understanding the internals of FactoryKit, a dependency injection library for SwiftUI craftingswift.dev/articles/def... #iOS #development #dependencyInjection
- Copy Tags from a Task to another - Add Task Categories for Organization, no more name prefix needed - Bugfixes and more Check it out! apps.apple.com/no/app/chron... #macOS #timetracking #chronia
@twostraws.bsky.social I would love a physical copy of "Everything but the code"! Hopefully you can make it happen
🎬 New video: Design and Develop Live Activities for iOS 26 (Remastered) I originally published this in 2024 and it was quite popular, but the audio? Not so much 😅 So I went back, cleaned it up, and updated the content. www.youtube.com/watch?v=E63k...
It's the missing walkthrough to understand how Live Activities and ActivityKit works, How to start/update/end activities via push notifications, and my debugging tricks for when things don't go according to plan.
If you skipped the original (or struggled through the audio), this is the one to watch #ios #apple #liveActivity #activityKit #tutorial
A new blog post is out, this time is about how to migrate view model observations from `ObservableObject` to `@Observable` I show three different alternatives and their tradeoffs craftingswift.dev/articles/mig... #ios #swiftui
Implementing Apple Wallet Passes are not that easy to do. In new video I will break down the process to build them, to sign them, debug and also cover NFC passes. It's a practical, end-to-end guide based on real experience www.youtube.com/watch?v=7no0...
Felipe Espinoza reposted
“The SwiftUI Way” is a new book by @natpanferova.bsky.social written for SwiftUI developers who want to develop a deeper intuition for working with the framework, recognize potentially harmful anti-patterns, and build more maintainable and performant SwiftUI apps: nilcoalescing.com/blog/TheSwif...
My first blog post after quite a while: Syncing iOS and Android Tracking Events. Where I explain how we have a single source of truth at work for tracking events, so we can evaluate features across the apps. craftingswift.dev/articles/syn... #iOS #analytics #iOSdev
Dependency Injection is a common problem to solve in SwiftUI app. In this video I explore different approaches with their pros and cons to solve common situations where Dependency Injection is needed. www.youtube.com/watch?v=RlJW... #swiftui #dependencyinjection #iosarchitecture
It's been a while in my head, but now it's finally out! craftingswift.dev This will be my portfolio website + blog The site is currently being built, but I will share more content besides only using video form. #developer #apple #iOS #macOS #youtuber
📣 Chronia 1.1 is out! In this release, I’ve added the ability to pause and resume work sessions. You can also create and add tags to your sessions, which will help you map your process and identify areas for optimization in your projects. Check it out! apps.apple.com/app/chronia-... #macOS
If you haven't check the video yet, here is the link www.youtube.com/watch?v=I7lU... Soon I will announce the update to Chronia, together with something else 😏
📣 New video out! This time, I replicate the navigation bar styling in Slack for iOS using only SwiftUI APIs. I break down the problem and solve it step by step. The code is in the video description. Check it out! www.youtube.com/watch?v=I7lU... #swift #swiftui #navigationbar #ios26
Using @Observable is great, but it has one small caveat. The initializer of the @Observable objects will be called multiple times, even with @State @nilcoalescing.com's excellent article covers that topic in more detail. #iOS #swiftUi nilcoalescing.com/blog/Initial...
I recently watched 🚀 Antoine van der Lee 's talk about going indie at SwiftLeeds Good work habits, using different hats and persistence are great traits for any developer, check it out! #developer #carrer #indie www.youtube.com/watch?v=Teas...
In the SATS app we were struggling with that. We have started moving towards SPM packages for modules, that helps a lot. I share our learnings on the topic on my YouTube video, where I apply the same principles on how to break down a big app into SPM packages. www.youtube.com/watch?v=IjoX...
@danijelavrzan.com hi, when it comes to CFP for conferences, how much weights the fact that you ask for plane tickets and hotel, vs saying that your company pays for them? I've seen that question in a bunch of CFP. I'm not sure how much of an impact is for getting selected into a conference