My first attempt at iOS app development
49 comments
·June 5, 2025ryandrake
Coming from embedded development, where it's mostly crappy SOC vendors providing a barely-working SDK and toolchain they cobbled together from an ancient version of gcc, moving to iOS development / Xcode was in most aspects a breath of fresh air. It does have its annoyances, though. Code signing, provisioning profiles, entitlements, AppStore wizardry... And the developer program fee is a bummer: It means you can't sustainably release free apps unless you're willing to just ignore that you're burning $100 a year forever.
Other frustrations: Apple makes it difficult to maintain support for older devices. They insist you keep updating your tools, but the updated tools tend to drop support for older SDKs and devices. You have to kind of go out of your way to keep your app targeting them. You can see how this plays out by getting a second hand iPhone 7 today and go to the AppStore looking for apps. It will be very difficult to find an app that will run on it. This phone is not that old, but the ecosystem abandons you pretty quickly.
They also deprecate things like crazy, so every time you update your tools, you get more warnings about APIs Apple would rather you stop using. It's tough to just write an app once in 2016 and keep it limping along forever. They clearly favor developers who are 1. doing it for a living, 2. targeting latest and greatest devices, 3. updating their app and their tools frequently, and 4. don't mind doing surgery every year to move away from deprecated stuff.
gyomu
> the updated tools tend to drop support for older SDKs and devices. You have to kind of go out of your way to keep your app targeting them. You can see how this plays out by getting a second hand iPhone 7 today and go to the AppStore looking for apps. It will be very difficult to find an app that will run on it. This phone is not that old, but the ecosystem abandons you pretty quickly.
Well, you're mixing 2 things here: Apple's tooling support for older versions of iOS, and what developers choose to do.
Today, you can create a new app in Xcode, choose "iOS 15" as the minimum deployment version for your project, and you'll have an app that runs on devices going back to the iPhone 6S/first generation iPhone SE.
Even supporting back to iOS versions prior to that is fairly straightforward (you'll just have to edit a plist by hand rather than use the UI picker if creating a new project) - I have some older iOS 9 projects that still compile without any issues (just tested for the sake of this comment).
But to your issue of most apps not working on an iPhone 7 - that's because many developers will choose to only support iOS 16/17 or later (and the iPhone 7, a 9 year old device, stops at iOS 15). That's their choice though, not a failing of Apple's tooling.
xnyan
I had to respond, not because I think you are wrong, but because I have had almost exactly the opposite experience and conclusions from you apparently.
> iPhone 7
I still have one as a TV device for me and my son to watch paw patrol. I can only speak for the set of apps I use on it, but as of a few hours ago they all still work (streaming, email, browser. no banking or other apps in that class). I am looking to replace it as it's no longer getting updates as of this march.
>This phone is not that old
Kind of very confused by this. It's 9 years old, it just stopped getting security updates three months ago. Is there anything even close to that outside of the iphone world? I do own android devices, I don't have anything android and nine years old that can turn on much less run an application.
ryandrake
I think it’s weird how confused people get when you suggest a 9 year old electronic device should work. Every computer in my house is over 10 years old. My A/V receiver and home theater speakers are 15 years old. My TV is 18 years old. My electronic thermostat is 11 years old. While they no longer receive firmware updates, they all continue to work as well as they worked on the day I bought them.
For some reason, nobody expects this of phones and tablets. The manufacturer cuts you off from updates and now somehow you’re obsolete! The 3rd party developer ecosystem pulls their old-device-supporting apps, and suddenly the device is useless. I don’t know why we accept this!
What is so special about phones where we allow them to be considered obsolete so quickly?
zeeeebo
There's also the frustration where an Xcode can target iOS versions lower than the iPhone simulator's minimum. I was targeting iOS 12 for a while but it was a pain having to get UTM and an older version of Xcode just to debug/test it.
jkestner
Yeah, I hate the code rot that the push for the latest SDKs brings. I’ve kept old Xcode versions around, and don’t jump for every OS update so _those_ don’t rot. Kept an app (useful to dedicate old devices to) running on iOS 9 until last year. Probably could’ve gone longer with containers.
peterburkimsher
The solution for code signing is coming: through jailbreaks or appdb.to, it's possible to sideload apps without the official app store process. The EU even mandated that there should be other app stores.
Building for older models is possible using a collection of virtual machines, or even a multi-boot old laptop.
threeseed
a) You still need to code sign on alternative app stores.
b) All of your users are still going come through the Apple one.
ensignavenger
Reg B... Will they? From what almost everyone I have heard from says, most of their users come thru their own marketing efforts, not Apples.
inquirerGeneral
[dead]
earthnail
The author will learn the hard way that their proposed, fair pricing model won’t even pay a solo dev.
Making reasonable money on iOS is hard, like, really hard, and just having a good product is definitely not enough.
Sorry to sound so pessimistic; I just want to emphasise that monetisation and marketing is at least as important on iOS as product development.
bredren
The author mentions code signing as a tricky ecosystem thing. Well, wait until the app has to get new assets to be resubmitted with bug fixes for new versions of iOS.
And if they don’t keep updating it, it will stop working and the buy it for life idea commits the dev to maintenance that isn’t paid for either upfront or through subscription.
There are folks who make and give away a lot but some learn their lesson quickly and find ways to get people to put a reasonable amount of recurring payment into the app to make it even remotely sustainable beyond a hobby.
FWIW, AI may make this cost so much lower that this kind of thing can make sense now. Something to consider, I suppose.
gumby271
I think a lot of what Apple has added to their App Store in the name of security is really just to get developers to move to recurring revenue models, which in turns makes Apple a lot more money. An old app that hasn't been updated in a couple years isn't inherently dangerous, but if Apple can convince users that it is, then devs will have to rethink how they do business. It's a shame to watch Google copy this move too on the Play Store.
x0x0
Or just developing in Apple's crappy ecosystem.
eg Apple publishes a new ios rev; debugging on it requires upgrading xcode; and that requires updating your OS.. Good thing you don't mind wasting a full day or more reinstalling every other devtool you may happen to use. Or xcode just doesn't connect to your ios device because reasons. (The reason is apple writes shoddy slapdash software because monopoly.)
So now you're spending another $1500+ on a studio so you can do all this in VMs and see how bad the damage will be to avoid blowing up your main devbox. etc etc.
F7F7F7
This sounds like Python development....and React.....and Svelte....and oh, remember Angular 2 to 3? Or people who invest time in Clojure? Were you a fan of the MEAN stack a decade ago? Build something on it? How's that app doing?
What you're describing is not unique to Apple. It's a regular occurrence for anyone who's not writing for a enterprise SAAS company with a largely legacy codebase and a dozen DevOps guys mostly obscuring that stuff from you.
MBCook
It’s not just that. Companies who are anywhere between unethical and outright complete scams have discovered how incredibly easy it is to get people to sign up for a free trial for something that milks them of tons of money they don’t realize.
Despite the fact that Apple tells you when your subscription will renew it doesn’t seem to help enough people. So they buy a scientific calculator app because they don’t realize that it’s built into the one on the phone and then end up paying five dollars a week for it. And even if they find out after the first renewal that means the app developer got five dollars (minus fees).
There’s tons of subscriptions out there that are just completely out of whack with their prices. And Apple just doesn’t seem to care.
neepi
I had an idea years ago for an app but came to the same conclusion after some market research and a risk assessment so didn’t bother. I do not regret that decision for a moment.
I either have to put enough time into the idea to do it full time or do a shitty job. I can’t win either way without incurring massive risks so I will continue to part time two jobs and invest the earnings from those wisely instead.
dylan604
Isn't this why most apps are a front end for a data hoovering process so that they can monetize that as well as using ads?
9d
Pure iOS apps stopped being profitable in 2009 or so.
ensignavenger
At 3 days to develop, the author could make 100 of these apps a year. Of course, they will probably spend additional time developing and fixing bugs, IF the app gets any traction. And if it becomes something more substantial, they could up the price or release a preium in app purchase to upgrade with new features.
null
Spivak
But it might buy you a nice vacation on top of your $dayjob for an app that's probably very low maintenance.
Certainly not bad for three days work.
heliographe
Yes, making money on iOS is an uphill climb, many times more so if you’re not playing the TikTok ads and subscription model.
I’ve been making iOS software independently for almost 2 years now (https://heliographe.studio) and am about ramen profitable.
A few notes in case OP (or anyone interested in making some money in the App Store) is reading:
- you have to make the app free to download, and quickly demonstrate value then show a paywall if you want any purchases. Paid upfront just does not work unless you’re an already recognized product.
I had some apps that were paid upfront, and would mostly get $0 days. Switching to free to download immediately brought me to a slow but steady trickle of daily downloads, and from there you just have to work on your conversion rate.
- but that's still going to be pretty low, if you want any meaningful user acquisition, you're going to have to go look for the kind of people who might be interested in your product. The broader your potential audience is, the harder that's going to be (but that's why TikTok ads can work so well). In my case, choosing to focus on a somewhat niche area (tools for photography) is helpful; there's a strong photography community going on Threads and regularly posting on there yields good results (for now...)
- $2.99 is dramatically underselling yourself, especially if you offer a quality product that you put time to craft to your standards and has no tracking, no subscription, no ads, etc. You should play with pricing to see what the sweet spot in terms of conversion is, but in my experience it's always worth it to start at least at $4.99/$7.99 for these sort of utility apps. Of course, the design of your funnel/paywall will make a huge difference (ie you'll likely sell more of an app marked as $4.99 at 50% off, than just $4.99)
- learn about what makes for good App Store screenshots, descriptions, how keywords work, etc. Ariel from App Figures has some good videos on YouTube about what they see and what seems to work based on their data.
The days where you could make a little app, chuck it on the App Store for $.99, and have it just blow up are well over. If you want to make any money on the App Store (even if to just pay back for your Apple Developer membership), you have to put as much effort, if not more, in the marketing and promotion of your product than you put in the design & development of it. It's a grind for sure — and don't count on Apple to help you in any way (by and large they seemed more interested to promote games and dating apps with $49.99/mo subscriptions than small indies doing interesting things).
Good luck! Eager to try your app :)
vachina
Took a look at your app, and would like to say you’re competing in a very crowded space.
It’s not immediately clear to the layman, what value your app provides. Even to me, it got me asking what your app provides over Adobe Lightroom.
sebasvisser
Funny how the same desire got both of us into building more or less the same app:
https://apps.apple.com/nl/app/xyz-photo/id6602894199
Yours looks sleeker though. One thing I learned quickly after having friends use it..other people want different things and catering to more than just myself takes soooo much time.
So I stick to building what I want and releasing it for free.
RASBR89
The Photos app has a delicates option - not that I want to piss on your parade but the functionality is already present? Or am I missing something?
tabarnacle
Didn’t realize this existed, nice.
kaptainscarlet
With the recent Expo SDK 53 update that introduced a slew of breaking changes, I've been contemplating switching my app to native. I could perhaps vibe code features on both android and iOS and ship features as fast as crossplatform react native devs.
tcoff91
Could you share which issues you had with the upgrade to 53? I just recently migrated my employer’s app to sdk 52. We are still on legacy arch for now. I’d love to know more about what I’m in for when it comes to upgrading to 53.
cyberax
The switch to the new rendering architecture is really massive, a lot of libraries have subtle bugs that are not yet fixed.
tcoff91
Oh yeah for sure. Not going to adopt new architecture yet. It’s a little rough of a transition but once we get through I do believe it will be a game changer for react native. Until reanimated v4 is dialed in I’m staying away.
Have you tried turning off new arch for now?
jll29
The Apple ecosystem is polished, but controlling and unforgiving.
Tool upgrades are enforced and so are regular hardware upgrades, whether you like it or not. That's hardware that is still working, which Appled decides you will no longer be able to use some software on, just because.
And after Apple sells you a computer and developer subscription, it makes you work for them on their share of any app sale.
I like some aspects of Apple's hardware, and I liked their older OS and software (when it became preemtive, but UX was more simple and systematic than now), but overall, I prefer open ecosystems.
deverman
Congrats on building with Swift!
A great article that stops right where iOS development becomes a hassle: actually getting it published in the App Store.