Live data from Hacker News

Building and shipping Mac and iOS apps without opening Xcode

scottwillsey.com

241–248 of 248 posts

Re: Building and shipping Mac and iOS apps without opening Xcode

#241
post #100

I have one weird trick for people who are exploring this vein. I last opened an Xcode project about five years ago so I could be way behind the times. Having spent many years fighting with Xcode professionally, I was thrilled when swift build came out, and then appalled at how badly Xcode adopted it. Eventually I realized that you can set up your entire app as a swift package, and then the Xcode project with a single…

  > set up your entire app as a swift package, and then the Xcode project with a single main source file that calls some `app_main()`
this is basically how i do all apps nowadays (at home and at $work), all settings for the ios side of things is in a xcconfig file and keeps things simple and working with multiple people is much more a breeze this way

Re: Building and shipping Mac and iOS apps without opening Xcode

#242
post #192

The pain people go through not to use XCode, for me it does the job.

It’s incredible to me the lengths these people will go to just to avoid using the standard tools.

the path of most resistance... sometimes i wonder if apple's insistence on a mac + paid membership is a kind of intentional filter, like they want someone who's devoted enough to invest 100 bucks + a mac etc

Re: Building and shipping Mac and iOS apps without opening Xcode

#243

Earlier quoted context omitted.

Secretive (and the similar built-in functionality [1]) both allow you to require TouchID too. I found an okay balance using two SSH keys: one for commit signing (w/o TouchID) and one for everything else (requires TouchID, or PIN on Linux) So, the actions that I really don't want the agent to take (establishing an SSH connection, pushing to a git remote) always require my manual intervention. [1] https://gist.github.c…

... you're getting the agent to sign commits for you without manual intervention?

Yeah. The agent can create commits and those commits are signed (`commit.gpgsign true`).

I'm treating it like...you can hold me accountable for that commit and the commit came from my computer. That feels like the right spirit of things.

How do you do commit signing? I've never worked anywhere it was common, nor worked on a team where anyone else signed commits. I don't know how it's really used in the wild, so to speak.

Re: Building and shipping Mac and iOS apps without opening Xcode

#244

Earlier quoted context omitted.

... you're getting the agent to sign commits for you without manual intervention?

Yeah. The agent can create commits and those commits are signed (`commit.gpgsign true`). I'm treating it like...you can hold me accountable for that commit and the commit came from my computer. That feels like the right spirit of things. How do you do commit signing? I've never worked anywhere it was common, nor worked on a team where anyone else signed commits. I don't know how it's really used in the wild, so to sp…

> I don't know how it's really used in the wild, so to speak.

Commit signing primarily exists because linux kernel development happens via email, which isn't a secure channel.

In that context, signing is used to prove provenance; a commit signed by someone with merge rights gets included, and if you repeatedly sign bad code you'll have your right to merge revoked.

> you can hold me accountable for that commit

I wouldn't personally want to be held accountable for a commit I'd never so much as read, so I would never sign (even locally) a commit until I'd looked at it.

Re: Building and shipping Mac and iOS apps without opening Xcode

#245

Earlier quoted context omitted.

Yeah. The agent can create commits and those commits are signed (`commit.gpgsign true`). I'm treating it like...you can hold me accountable for that commit and the commit came from my computer. That feels like the right spirit of things. How do you do commit signing? I've never worked anywhere it was common, nor worked on a team where anyone else signed commits. I don't know how it's really used in the wild, so to sp…

> I don't know how it's really used in the wild, so to speak. Commit signing primarily exists because linux kernel development happens via email, which isn't a secure channel. In that context, signing is used to prove provenance; a commit signed by someone with merge rights gets included, and if you repeatedly sign bad code you'll have your right to merge revoked. > you can hold me accountable for that commit I would…

Makes sense, thanks for that context. I knew that linux kernel dev happens over email, but didn't piece that together with commit signing.

> I wouldn't personally want to be held accountable for a commit I'd never so much as read, so I would never sign (even locally) a commit until I'd looked at it.

I think that's reasonable. I'd say that if I push the commit, then I should be accountable for it whether I read it or not (and no one is going to see it unless I push it).

Re: Building and shipping Mac and iOS apps without opening Xcode

#246
post #178

Earlier quoted context omitted.

It seems too concise to be AI. My (conscious) heuristic for AI writing is how much context is squeezed into a sentence. LLMs seem to be pretty bad at the kind of elegant compression of meaning humans can do when they have done a lot of writing practice. If I had to guess, I would say this is the human summarised conversation(s) with a bot.

It wasn't Ai. It was me. I wrote it.

Sorry if my speculation was bad! When I wrote it I meant it as a compliment. Raw LLM output is awful and really needs a human to "translate" the useful content to something worth reading.

Re: Building and shipping Mac and iOS apps without opening Xcode

#247
post #175
post #3

It's kind of funny to be reading this: > I had Claude Code create mine: I told Claude, more or less: I want to archive, Developer ID-sign, notarize, staple, and install this app to /Applications without ever opening Xcode. Write me a script that does the whole chain and fails loudly if any step breaks. Even though the text we're reading is Claude talking to us as well :) Also it was weird to see the mention of "ask y…

Claude didn't write this post. I did.

Like we need another reason not to write and publish!

Re: Building and shipping Mac and iOS apps without opening Xcode

#248
post #99

I find it hard to believe xcodegen is in a state where it would reliably generate xcodeproj for all edge states (widgets, watchos app, notification extensions …) - it certainly wasn’t when I last tried it for Weathergraph few years ago. That said, it might be well enough for simpler apps.

What's a not-simple app? I've had Claude generate: * A Markdown viewer (obviously pretty simple) * A menu bar Apple TV remote (surprisingly complicated) * A menu bar and desktop temperature tracker for the silly Tapo temperature trackers I have all over my house (a little complicated because multiple user interfaces, a backing database, scheduling, and multiple local/remote protocol interfaces) * A graphical CAS calc…

Afaik these are all single target apps. I was talking about extensions, watchos companion apps ...
Post reply on HN