Paul Hudson
twostraws@mastodon.social
<p>I write Swift and write about Swift, but most people prefer my dogs.</p>
Posts
-
Post #4433220
Want to customize the way links are opened? Tapping a link in SwiftUI opens Safari by default, but a custom OpenURLAction lets you intercept, redirect, or handle the URL yourself. https://www.hackingwithswift.com/quick-start/swiftui/how-to-customize-the-way-links-are-opened
-
Post #4144001
New on the Kickstart blog: What kills apps, and why it *isn’t* being Sherlocked. Apple added Dark Noise’s core job to iOS, and the app still earns over $4,700 a month. Sherlocking is a real risk, but it isn’t an automatic death sentence! https://www.kickstart.tools/blog/what-kills-apps-and-why-it-isnt-being-sherlocked
-
Post #4078409
New on the Kickstart blog: How to make an app press kit journalists actually open. The exact anatomy of a press kit that gets your app covered – the fact sheet, the images journalists use, and a complete template to copy! https://www.kickstart.tools/blog/how-to-make-an-app-press-kit-journalists-actually-open
-
Post #3964554
New on the Kickstart blog: When to call requestReview() – Apple’s rules and the timing that works. Apple limits how often review prompts appear and now gives clear guidance for using them, so here’s how to ask respectfully after a meaningful success. https://www.kickstart.tools/blog/when-to-call-requestreview-apples-rules-and-the-timing-that-works
-
Post #3793059
Kickstart had almost 3,000 downloads in week one, reached #2 in the Mac App Store Developer chart, and I’ve shipped three updates since. The mistake? I still haven’t contacted the press about it 🫠 Here’s my launch retrospective – learn from my mistakes! https://www.kickstart.tools/blog/kickstart-launch-retrospective
-
Post #3537326
Replacing Bool parameters with two-case enums turns cryptic calls like stopAnimation(false) into self-documenting code like stopAnimation(.performingFinalActions). It's a small change that makes a surprising difference to readability. https://www.hackingwithswift.com/articles/172/using-two-cased-enums-in-place-of-a-boolean
-
Post #2152602
@gruber Random, but: Thank you for Markdown. I&#39;ve never thought to say that before, which is odd in retrospect, but Markdown is such a delightful way to express text, and it has been really transformative for all computer users.
-
Post #2152599
There&#39;s an open-source SwiftUI agent skill that catches the mistakes AI tools keep making: deprecated modifiers, accessibility gaps, performance pitfalls. One command to install, and your AI-generated SwiftUI gets a serious quality boost. https://www.hackingwithswift.com/articles/282/swiftui-agent-skill-claude-codex-ai
-
Post #1742378
Catch the error, *then* what? #expect(throws:) and #require(throws:) in Swift Testing return the error directly, so you can inspect it separately from the throw check itself. https://www.hackingwithswift.com/swift/6.1/swift-testing-errors-expect
-
Post #1716714
Today&#39;s Hacking with Swift+ live stream starts in four hours – come and build a complete app from scratch! https://www.hackingwithswift.com/plus
-
Post #1716713
Sunday Build with HWS+: I mean who *doesn&#39;t* love Regex? Create a SwiftUI app that lets you experiment with regular expressions in real time, with pattern matching, group highlighting, and Swift code generation. #SundayBuild https://www.hackingwithswift.com/plus/live-streams/regexcoach
-
Post #1669771
First ice cream of the year - living the good life!
-
Post #1648529
For HWS+ subscribers: Building a fully scalable, animated clock face with Canvas and TimelineView is a satisfying exercise in precise, relative drawing - and it looks great at any size. 🕰️ https://www.hackingwithswift.com/plus/recreating-ui/remaking-the-clock
-
Post #1648528
What if you could build websites the same way you build SwiftUI apps, declaratively in pure Swift with no HTML required? That&#39;s the idea behind Ignite, and it works surprisingly well. 🔥 https://www.hackingwithswift.com/articles/266/build-your-next-website-in-swift
-
Post #1648527
@rmondello I saw this and thought of you. https://apple.news/AOMs_ZOZTSLuHxkeLRBWq4A
-
Post #1648525
I picked up a lovely piece of 3D printing for Apple fans! 🤩
-
Post #1648524
RE: https://mastodon.social/@twostraws/116455657942809795 I appreciate all the replies and reposts 🙇♂️ Kickstart will be released in exactly three weeks, but you can preorder today here: https://apps.apple.com/app/kickstart-app-accelerator/id6758355178
-
Post #1648523
Use scrollTargetLayout() with .viewAligned to snap between individual child views, or .paging to move exactly one screen at a time. https://www.hackingwithswift.com/quick-start/swiftui/how-to-make-a-scrollview-snap-with-paging-or-between-child-views
-
Post #1645329
After months of work, my new app is finally available to preorder on the Mac App Store. It&#39;s called Kickstart, and it has just one job: to help indie app developers make more money on the App Store. How does it do that? Let me explain…
-
Post #1365270
Tomorrow I&#39;m releasing four (4!) new GitHub repositories, a new YouTube video, and an article to bring it all together. Set your alarms for 10am EST to hear it all first 😎
-
Post #1260254
@superbetsy@mastodon.social One for your collection, if you don't already have it!
-
Post #1093869
Today I&#39;m launching my new app, Hacktivate. It teaches real-world computer science skills through 240 &quot;capture the flag&quot; challenges, and works on iPhone, iPad, and Mac with one purchase. I&#39;ve poured a ton of love into it, and I&#39;d love to hear what you think 🙌 https://apps.apple.com/gb/app/hacktivate-capture-the-flag/id6748286602
-
Post #1016303
Last week I released SwiftUI Pro, a free and open-source agent skill to help everyone write better SwiftUI code using agents such as Codex and Claude. It&#39;s already at 1800 stars on GitHub and rising, but it was just the beginning. https://github.com/twostraws/SwiftUI-Agent-Skill
-
Post #984818
Recently I launched four agent skills for Swift developers, but I left the best power up for last. Today I&#39;m finally revealing exactly how to teach your AI to write Swift the Hacking with Swift way! #Boom https://www.hackingwithswift.com/articles/284/teach-your-ai-to-write-swift-the-hacking-with-swift-way
-
Post #984817
Agent skills are lightweight Markdown files that teach AI coding assistants things they don&#39;t already know, like deprecated APIs and platform-specific edge cases. They load into context on demand, so nothing gets wasted. https://www.hackingwithswift.com/articles/283/how-to-install-and-use-ai-agent-skills-in-xcode
-
Post #984816
See you in Cupertino! #WWDC26 (If you also won a ticket, you *must* confirm your place!)
-
Post #984815
Did you know you can build static websites using Swift code and SwiftUI-like syntax, with no HTML or CSS required? Ignite comes with built-in components like accordions, carousels, and syntax highlighting, plus a local preview server for testing. https://github.com/twostraws/Ignite
-
Post #984814
Today is my monthly &quot;reply to all the emails that have been silently judging me,&quot; day. If you&#39;ve been waiting for a reply from me, it will hopefully arrive today! (Sorry for the delay – I&#39;ve been going all out with preparing my try! Swift talk and workshop; my brain is more than usually overloaded!)
-
Post #984813
Hacktivate v1.11 is out! This is my most ambitious app update yet – 10 new cybersecurity challenges that are gigantic, challenging, and lots of fun. I can&#39;t wait to hear what you all think 😎 https://apps.apple.com/gb/app/hacktivate-capture-the-flag/id6748286602
-
Post #984811
Sunday Build with HWS+: Build a live Markdown previewer for macOS using test-driven development from start to finish. #SundayBuild https://www.hackingwithswift.com/plus/live-streams/livescribe