home.social

#appledevelopment — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #appledevelopment, aggregated by home.social.

fetched live
  1. Today I learned xcodebuild -resolvePackageDependencies in the shell is MUCH more reliable than Xcode's commands, at least in my environment. #AppleDevelopment

  2. I was looking for a photo on clipboard symbol in SF Symbols today. There isn't one, just document.on.clipboard. #AppleDevelopment

  3. …?

    Bakup, reformat, time machine restore seems less reliable today. #appleDevelopment

  4. The real danger when you use a third party AI is situations like this: Xcode hasn't been able to use Codex for over a week now.

    Imagine if you RELIED on this, instead of finding it merely convenient. #AppleDevelopment

  5. There's a @MainActor and nonisolated, but there's no @MotherfuckingBackground right? #AppleDevelopment

  6. AI agents hallucinate Apple APIs that don't exist. Cupertino fixes that by indexing hundreds of thousands of Apple documentation pages into a local, searchable database served via Model Context Protocol. Ground your AI in actual platform docs.

    🔗: github.com/mihaelamj/cupertino by Mihaela Mihaljevic

    #Swift #AI #AppleDevelopment

  7. I've been using this in my code for a while; today I split it out into a Swift Package.

    The idea is instead of writing this:

    Instead of this:
    Image(systemName: "trash")

    You can now write this:
    Image(symbol: .trash)

    My symbol list is pretty extensive.

    github.com/hive604/HiveSymbols #AppleDevelopment #iosDev

  8. I get why it needs to happen, but needing an App Store Review to push a build to external testers pisses me off so much.

    I kinda wish Apple would just drop the ban hammer on people abusing external testing instead, but I've read enough reports of people being banned "for no reason" I'm not sure I trust that, either. Even if most of them are probably lying. #AppleDevelopment

  9. Apple, you want to use AI somewhere actually useful?

    How about I type in a Description of a bug in Feedback Assistant, hit something, and it guesses which area I'm seeing the issue in?

    That popup list is long enough to be useless, and it never has anything relevant.

    From now on I'm just picking "Something else on this list" without looking. #appleDevelopment

  10. Apple just approved my new app first try, and in less than 24 hours.

    I… I… I don’t know what to do with this. What the actual fuck? What do I do now?!? #appleDevelopment #iosDevelopment

  11. Xcode 26.4's Release Notes subheadings include anchors, but unfortunately the anchor IDs are the text of the subheading.

    There are a lot of #Resolved-Issues anchors in that document. #AppleDevelopment

  12. Simplifying, but Apple offered APIs using two path kinds: HFS uses colon as a path separator, POSIX uses slash. 25 years later, the HFS APIs are mostly dead. We just use POSIX.

    I just wrote a file with a colon in the name and sent it to the iOS share sheet… which shows a slash.

    I was going to convert both to hyphen/minus (the low ASCII one) out of paranoia anyway, plus 2026:03:25 is weird. I just wanted to see what would happen: I write POSIX, it shows HFS. Avoid both! #AppleDevelopment

  13. This has been a frequent friend in Xcode 26.3. Line 22 is only about 22 characters, so I don't know what it's on about. #xcode #AppleDevelopment

  14. AI is the Ultimate Expression of Open Source

    Someone left this comment on my blog last week:

    “I swear am not making this up… I tasked Claude with making a Web Cam App on OS X because I couldn’t find one that was easy to use and handled what I needed (Zoom in/out, Colour, Saturation). I noticed a lot of its web searches centred around Celluloid and JakeSpurlock.com… and wow, you’re further ahead of me, in fact I don’t need an app any more.

    However, you might get a cheeky PR in the next week or two as one feature missing from Celluloid (that I can see anyway) was a Vignette slider. I like a nice subtle vignette.”

    Read that again. Here’s what happened:

    1. I built Celluloid — a macOS virtual camera app — using AI tools
    2. Alan tried to build the same thing using AI tools
    3. Claude’s research surfaced my work
    4. He didn’t need to build it anymore
    5. He left a feature suggestion — a vignette slider
    6. I added it to the app

    The loop closed. We’re both further ahead.

    The Flywheel

    Open source has always been about this: someone builds something, shares it, others use it, some contribute back. The commons grows. Everyone benefits.

    But there was friction at every step:

    • Building required deep expertise and time
    • Discovery meant knowing where to look
    • Contributing meant understanding someone else’s codebase

    AI removes that friction.

    Creation: I shipped six apps working nights and weekends. Not because I suddenly became a better programmer, but because AI let me move faster. Ideas that would have stayed in my head became real software.

    Discovery: Alan didn’t find Celluloid by searching GitHub or Hacker News. He found it because Claude — in the process of trying to help him build a webcam app — kept pulling up my code and my blog posts as reference material. The AI discovered the existing solution while trying to create a new one.

    Contribution: The vignette feature Alan mentioned? I built it five days later. It’s already merged. The feedback loop between “I wish this had X” and “here it is” has collapsed.

    This Isn’t Hypothetical

    I’m not theorizing. This is my actual workflow.

    Recently I shipped:

    • Today — an RSS reader for iOS and Mac
    • ScriptStrip — local transcription for macOS
    • Jewel Case — Spotify album art display
    • Celluloid — virtual camera with filters
    • Draft Night — Little League draft software (open source)
    • WalkUp DJ — walk-up music for baseball and softball

    All built with AI assistance. All open source or indie. All feeding back into the ecosystem that made them possible.

    The models that helped me build these apps were trained on decades of open source code. Now my code becomes part of what trains the next generation. The flywheel spins.

    What Open Source Promised, AI Delivers

    The original dream of open source was democratization. Anyone could read the code. Anyone could learn. Anyone could contribute.

    In practice, “anyone” meant “anyone with the time and expertise to understand a complex codebase.”

    AI changes the denominator.

    When Claude helps Alan understand my code well enough to contribute a feature, that’s not cheating — that’s the promise of open source finally being delivered. The knowledge isn’t locked behind years of experience anymore. It’s accessible.

    More builders means more software. More software means more training data. Better training data means better AI. Better AI means more builders.

    The commons grows faster than ever.

    The Skeptic’s Objection

    “But you’re just generating slop with AI!”

    Look at the results. Celluloid works. People use it on Zoom calls. Alan found it useful enough that he didn’t need to build his own — and valuable enough that he’s contributing improvements.

    The quality bar is the same as it ever was: does the software solve a problem? Does it work? Will you maintain it?

    AI doesn’t change those questions. It just lets more people attempt answers.

    Where This Goes

    I don’t think we’ve fully internalized what’s happening.

    Every open source project is now more discoverable — not through SEO tricks, but because AI assistants will surface them when someone tries to solve the same problem.

    Every contribution barrier is lower — not because standards dropped, but because understanding code got easier.

    Every builder has more leverage — not replacing expertise, but multiplying it.

    Open source always had network effects. AI supercharges them.

    Alan tried to build a webcam app. He found mine instead. His suggestion made it better.

    That’s not a bug in the system. That’s the system working exactly as intended — just faster than we ever imagined.

    The vignette slider is live in Celluloid. Thanks for the suggestion, Alan.

    Related: I’m Shipping Like I Have a Team. I Don’t.

    #AI #AppDevelopment #AppleDevelopment #apps #Claude #MacOS #OpenSource #software
  15. Does `@testable import` work on macOS?

    I have a test target that builds fine for iOS but not on macOS. The failure is on a @testable import of the main target ("No such module"), which is a SwiftUI application that supports both.

    Any other thoughts? #appleDevelopment

  16. I filed a radar, FB21795992, for the Try It Free button title. It really should just say Subscribe. #AppReview #AppleDevelopment #iosDevelopment

  17. App Store Connect is throwing "something went wrong" about 30% of the time this morning. #AppleDevelopment #AppStoreConnect

  18. For now, I've pushed to my beta testers (slots open, ask if you want… if you'll use the app) and on Friday I'll push to review again. #AppleDevelopment #FretSketch

  19. I'm not as upset about this as I maybe should be. This isn't the bug I dev-rejected for, and I wrote a bunch of tests so I can tell when results change, inspected a lot of math and simplified a lot of code… without triggering any unintended changes.

    A change for 1.3 is likely going to be pushing all math into a reusable library. I felt like that was a "much later" thing, but the changes make it easier and this snipe hunt make it more urgent. #AppleDevelopment #FretSketch

  20. After almost two days of debugging a test I finally realized my expectation was wrong. #FretSketch #AppleDevelopment

  21. If I could edit release notes post App Store approval, I could just make a note of this math bug I found in my app: Double accidentals aren't going through tonal analysis correctly. Significant, but I could document that, release anyway, and fix in a 1.2.1.

    Instead, I'll have to reject. #AppleDevelopment #iosDevelopment #FretSketch

  22. I only realized today that an Xcode scheme can build multiple targets. #AppleDevelopment #Xcode

  23. I'm also working a bit with ordered sets, thanks to Swift Collections. I need to re-validate everything if I actually switch to them, but that should be easy enough as I can just sort each set on print to make sure they match the old results.

    I can't emphasize enough how excited I am about this release. I had to cut a bunch of stuff out of my 1.0 to get it out, and the voicing analyzing tool was one of my dream features. #FretSketch #AppleDevelopment