NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
My first attempt at iOS app development (mgx.me)
ryandrake 17 hours ago [-]
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 16 hours ago [-]
> 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.

trinix912 8 hours ago [-]
Apple requires developers to build the apps with at least Xcode 16 targeting the SDK of least iOS 18 to submit new apps / updates to the App Store [1]. This limits how far back you can go with the iOS version, thus dropping older phones.

Yes, you can definitely download older SDKs and target older iOS versions, but you cannot publish those apps on the App Store anymore.

[1] https://developer.apple.com/news/upcoming-requirements/

nicoburns 6 hours ago [-]
The "target SDK" and "minimum SDK" versions can be set separately. It's mostly just a cultural norm in the Apple ecosystem not to support older versions.

This is supported by 1. Apple being relatively good at releasing new versions iOS for older hardware. 2. Users (at least historically) typically being on a ~2 year upgrade cycle. But it's also just the case that the Apple ecosystem (including on macOS) tends not to value backwards compatibility as much as other ecosystems.

gyomu 7 hours ago [-]
That phrasing is misleading.

You can absolutely publish apps that target versions of iOS prior to iOS 18; eg all my apps are iOS 15+, I published one as recently as last week.

You can build an app with the iOS 18 SDK that target previous versions just fine (as long as your calls to APIs posterior to the version you’re targeting, if any, are wrapped in the proper macros) and submit them to the App Store.

So yes, you have to build your apps with the latest SDK to publish them - but that doesn’t restrict the target OS version in any way (ie I can build apps that target iOS 9 with the iOS 18 SDK).

Where it starts to be a pain for new apps built in 2025 is if you want to target pre iOS 13, as you’ll have to use the older AppDelegate mechanism, but still totally doable. (That’s getting deprecated with the next release, but deprecated APIs still build just fine).

tidbeck 7 hours ago [-]
This is different from the Minimum Deployment, which I current have set to iOS 12.0 in Xcode 16.2.
seviu 7 hours ago [-]
I just submitted a bug to Apple because of an api that crashes the simulator unless you target the latest version of iOS. On device you can target any previous version of iOS easily.

This is just one annoyance of many I encounter on regular basis.

They do go to great extend to allow you to support older versions, but they don’t make it always easy.

Last versions of iOS have been specially rough because SwiftUI has been constantly evolving, and keeping backward support is just a nightmare.

Daedren 6 hours ago [-]
>and what developers choose to do.

I disagree. Developers are VERY strongly encouraged by Apple to move their minimum deployment versions up.

New APIs and frameworks are never backported (Swift Concurrency and the COVID tracking API were notable exceptions), and additionally if you dipped your feet into SwiftUI, you've essentially jumped into river rapids. Despite its age at this point, SwiftUI is still very immature, and all the new stuff to fix its holes requires you to jump up versions or fall back to UIKit.

xnyan 15 hours ago [-]
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 13 hours ago [-]
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?

socalgal2 9 hours ago [-]
I am sympathetic to the argument/feeling that somethings last a long time therefore all things should last a long time.

> What is so special about phones where we allow them to be considered obsolete so quickly?

The phone / computer works exactly as it did when you bought it. What changed is everything around it. That's not true of those other things. New video codex, new services, new sites, new apps. Let's pick ChatGPT. They have app. It's about 2 years old? It strictly costs them more money to cover older hardware than just not supporting it. And, going forward, each year they want to support the newest phones/OS but keeping support for both strictly increases costs. I work on a project that run on nearly every device (Windows/Mac/Linux/iOS/Android) and we are always evaluating which devices we can stop supporting and what new devices we need to add to our testing infra going forward.

Your 18yr old TV is great. It works exactly as it did when you bought it. But for example, let say your TV was 25 years old. It wouldn't have HDMI and there for, without expensive adapters, would not work with an XBox, PS5, Switch (afaik).

The point is, your TV does exactly what it did when you bought it. No changes. For a smartphone to keep working requires constant changes. As a simple example, HEIF images didn't exist before. JPEG's with gain maps didn't exist. Zoom didn't exist. Etc... Your phone needs constant updating. Your TV, A/V receiver, speakers, thermostat do not. It costs money to keep the phone up to date. It costs nothing to keep the TV, A/V receiver, speakers and termostat up to date because there is nothing to update

chii 5 hours ago [-]
But apple explicitly tries to make the environment around the old phone obsolete. They have an incentive to do so.

Your old TV still works even with an adaptor - but there's no such a method for the phone.

I want my phone to work until the hardware fails, not when apple decides they want to push people to buy a new one next quarter.

Terretta 4 hours ago [-]
> "I want my phone to work until the hardware fails... But apple explicitly tries to make the environment around the old phone obsolete."

As of December 31, 2022, U.S. telcos* decommed the 3G tech phones of the mid-2000s used.

As long as your iPhone can still use the telco network, it still does the functions it shipped with just fine.

A phone's environment depends on a lot more than its hardware maker.

(FWIW, thanks to its different incentives than other handset makers, Apple continues to offer the longest average OS support of the hardware and OS giants. Google's Pixel 8 is the first to bump Google's 3 years to match Apple's 7, and Samsung's S24 also finally matches 7 years. So on current devices, they stepped up, but on devices before 2023, Apple's support is more than double theirs. Arguably, these two finally stepping up were in response to the "environment" of Apple's incentives and EU regs.)

* Verizon was the last. AT&T turned off its 3G network on February 22, 2022. T-Mobile dismantled Sprint's 3G CDMA network on March 31, 2022, and its own 3G UMTS network on July 1, 2022.

Angostura 3 hours ago [-]
I have an iPhone 3GS from 2009. It still makes and receive phone calls and will pick up email. Some web pages will still render
kristianp 7 hours ago [-]
I agree. Phones aren't increasing in performance all that fast any more and the use cases haven't really changed. OS and sdk makers should start to consider their tools "mature" and stop breaking compatibility with each and every update.

Something like the Go 1.0 compatibility promise.

dcow 11 hours ago [-]
It may be an unfortunate relic of the carrier upgrade economics. Most people, in the US at least, on a subscription phone plan get essentially a new phone for free every 2 years. Things are changing a little lately and now it’s not quite a free phone but a heavily discounted one, but it’s still pretty reasonable to expect most of your uses won’t have phone much more than a few years old.

I guess that means if we want to see this change we need to stop trading up every other year. Which would mean carriers need to stop charging $70/mo for a phone line. Etc. I don’t upgrade my thermostat yearly, the economics are different, and so the product approach is too. My thermostat also doesn't come everywhere I go on a daily basis and doesn't run apps (it’s not a general purpose computing platform that needs to grow more powerful as software becomes more demanding.

Also I have to add: phones are a fashion statement. Old phones do work, they’re just not cool. Nobody cares about the AV receiver sitting in your tv console as long as it’s amplifying audio. The tech hasn’t changed in years. Well unless your receiver does video, in which case I am certain your 15 year old audio receiver is not capable of 4k 120 HDMI handling. Update that TV to a 4k panel and your receiver will need a bump too.

testing22321 10 hours ago [-]
> get essentially a new phone for free every 2 years

What you mean to say is the payments for the phone (and the interest for the loan) are just bundled into the monthly plan.

The phone is categorically not free, the payment is just obfuscated to the point that many people don’t understand.

dcow 5 hours ago [-]
Of course. Either way you’re getting what you pay for and there’s no way to select “I don’t want a free phone every two years take $15 off my monthly payment please”. It kinda is moving that way now, though. The monthly cost for new hardware is increasingly more optional and better delineated from the phone service. But thats’s new stuff—it will take awhile for things to percolate down.
matwood 10 hours ago [-]
The one thing in phones that was pulling people along to upgrade was the camera, but even that is leveling off now.
abtinf 11 hours ago [-]
> My TV is 18 years old … they all continue to work as well as they worked on the day I bought them.

This is unlikely to be true. The process is slow so you may not have noticed it, but the tv is probably much dimmer than when it was brand new.

You may have a reasonable point about device longevity, but comparing full blown, internet connected, general purpose computing devices to an A/V receiver is obviously intentionally obtuse.

ryandrake 11 hours ago [-]
It's a Hitachi 42 inch plasma and it still looks absolutely beautiful. Not a single problem with it in almost two decades.

Want to know what failed first? The goddamn Mac Mini I have attached to it as a HTPC, where, after "upgrading" to Big Sur or Monterrey, suddenly Apple just up and decided to drop 1080i resolution support (the TV only supports 1080i, not 1080p).

The weakest link, in terms of longevity, is always the software developer.

pasc1878 3 hours ago [-]
You have undercut your case here.

The TV works and had not been upgraded. The mac mini works if you did not upgrade it.

The weakest link is doing an upgrade, it does not matter which hardware.

eviks 12 hours ago [-]
> 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?

Of course there is, just take a look at any computer/laptop.

anta40 12 hours ago [-]
For me, the some of biggest annoying about mobile app development is how the dev environment is space/RAM hungry:

- gradle folder easily reach 7 or 8 gigs per project (more external dependencies = bigger) - Android/iOS emulator also need something like 7 GB (per device). Imagine if you have 3 emulators: Pixel 3 running Android 13, Pixel 4 running Android 14, etc etc

Also agree code deprecation is something often happen. Most of my experience is Android, and yes I've seen emails from Google saying something like "if you don't need this feature, don't call API X and use Y instead. Failure to comply to this within 1 month will result your app is taken down." Oh well..

basisword 36 minutes ago [-]
>> Code signing, provisioning profiles, entitlements, AppStore wizardry

Maybe it's because I've been doing iOS development since the original SDK, but this stuff is now super automated. I can't remember the last time I thought about any of it other than enabling some entitlements (and that's done in Xcode with a checkbox now).

>> Apple makes it difficult to maintain support for older devices.

I'm not sure I agree with this either. I work with a range of large iOS devs and they're all still supporting iOS 12 and 13 without much difficulty. Sure, you can't use the latest and greatest API's but there's nothing blocking you from using the API's supported by the older OS versions.

Regarding the iPhone 7 - it's very old. Nearly a decade old. And even at that it still supports iOS 15 which is only a couple of years old.

Generally I find indie shops will force you to use the most recent couple of OS versions because they want to use the new API's and don't want the overhead of maintaining support for older ones. Any app that's relying on having lots of users is supporting as far back as possible (particularly when it comes to iPad because those users keep their devices far longer).

jkestner 16 hours ago [-]
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.
zeeeebo 16 hours ago [-]
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.
bboygravity 10 hours ago [-]
I'm in embedded development right now (switched from EE, because higher pay, easier to find clients and more flexibility).

Would you recommend the switch from embedded to app writing?

What I'm looking for: more location independence (no on-site work) and more clients/work/jobs.

zerr 7 hours ago [-]
What about switching from app dev to embedded? Is an EE knowledge required?
monegator 9 hours ago [-]
yeah, no. I do both (and to the user asking for an opinion wether to switch from embedded to app.. don't!) and i loathe making apps. Sure, the dev tools are supposedly better, more modern.. but they are also an evermoving target. You can never declare a project done.

This is because every new OS update breaks compatibility in subtle ways, or new requirements or behaviour changes remove capabilities you were using before and were essential for your app, or simply: the new major update breaks BLE / Wifi / Background operation and you waste three weeks of your life trying to make it work again, only to find that an OS update restored things. This happens every single year, at least once.

Then you have the store policy (Play store for example) that changes the Target SDK so you MUST recompile the app with the new SDK or else, and the iOS certificate expiring every year so you have to pay for the privilege, then you have to recompile / resign... which means that the project must be compilable at all times, and every year the SDK version changes, the toolchain changes.

In the embedded world i can effectively freeze the development environment, with my ancient GCC version, and it will work forever. Well, that's not really true anymore if you use Zephir, IDF or other framework monters :(

peterburkimsher 17 hours ago [-]
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 16 hours ago [-]
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 15 hours ago [-]
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 17 hours ago [-]
[dead]
deadbabe 12 hours ago [-]
> It means you can't sustainably release free apps unless you're willing to just ignore that you're burning $100 a year forever.

The fact that this $100 yearly fee has never been adjusted for inflation, in a time when developers are easily shelling out $200 a month to use LLMs, makes this gripe all the more petty. Especially when software developers are still among some of the highest paid jobs on the market.

TheDong 12 hours ago [-]
Back in the days of newgrounds, a bunch of kids learned to program by picking up flash, making games, and sharing them with their friends. That would not have happened if you had to pay even $1/year to publish a .swf file.

Now, their friends all have iphones, and if a kid could hack out an app for their friend group and share it around, it would give them great motivation to learn and hack in that ecosystem.

It's kids, idealistic OSS hackers, and people in the global south who see the $100/year and give up.

It's also just plain dumb rent-seeking that no other OS does. I can make an APK for a friend for free, I can make an exe for a friend, an elf for a friend, etc.

Yet, even if I live in the EU and thus can distribute apps to my friends to sideload directly, even then I'm required to pay $100/year or my app stops working.

kalleboo 2 hours ago [-]
> Now, their friends all have iphones, and if a kid could hack out an app for their friend group and share it around, it would give them great motivation to learn and hack in that ecosystem.

You can create apps on the iPad and share the source bundles with friends without a paid account https://developer.apple.com/swift-playground/

edit: To be clear, I'm not defending Apple here, I'm still 200% in favor of "let people run the code they want on the device they own", what I'm trying to say is just if you're a kid who wants to do this, you already can!

basisword 32 minutes ago [-]
I get your point but if they can't afford the $100 for the dev account they probably also can't afford the Mac to build the apps.
chii 5 hours ago [-]
> a bunch of kids learned to program by picking up flash

flash does not have a free version (and i recall a trial version is locked after some days of usage). Guess where they got their flash development/program from?

deadbabe 12 hours ago [-]
The AppStore is not the internet. There is no reason for it to be polluted with everyone’s throwaway side projects.
TheDong 10 hours ago [-]
The $100 isn't just required for the things published to the AppStore.

It's required for a sideload app in the EU. It's required to make a testflight app that isn't discoverable on the app store, but people can opt-in to running (though apple still heavily restricts what apps you can publish via testflight, it's not a substitute for sideloading).

> There is no reason for it to be polluted with everyone’s throwaway side projects.

Too late for that, the app store already has a huge amount of trash on it.

If apple insists that the appstore is the only way to get software on a computer in my pocket which I paid for and own, then yes, they are obligated to let me put trash on it.

If apple won't let people put anything on it (as they don't), then they should be obligated to let me install devices in another way.

It's already incredibly silly that if I want to just have my own simple app (like idk, a native app that lets me upload a photo to my personal archive over a custom protocol I use), I have to jump through hoops as if I want the whole world to use it, even if I never intend for anyone outside literally just me to touch it.

deadbabe 3 hours ago [-]
It’s a phone, not a computer. It’s not sold as a platform for developers to tinker around doing whatever they want. It’s primarily a lifestyle device and businesses can produce apps for it. That’s it. You don’t get to put your own software on everything that has a computer in it: cars, consoles, appliances, etc.
tebbers 11 hours ago [-]
Even more of an argument for free sideloading then. Ping your friends a URL, they click it and can install your app. All without the need for an App Store.
bboygravity 10 hours ago [-]
You're speaking of kids.

What kids? We don't really make much kids anymore in the developed world :p

1718627440 6 hours ago [-]
Just wait 30 years and the problem will be fixed.
josephcsible 10 hours ago [-]
The difference is that LLMs are optional, but the Apple tax is mandatory.
jhatemyjob 1 hours ago [-]
$100 a year is nothing
homebrewer 48 minutes ago [-]
It's a week's salary for a typical junior developer in my neck of the woods.
DrammBA 52 minutes ago [-]
> $100 a year is nothing to me

Added missing context.

jacobp100 6 hours ago [-]
I do iOS dev as a side-hobby too (https://jacobdoescode.com/)

People are right it isn’t anywhere near a salary, but I have fun and it has opened job opportunities too

For marketing, I found /r/Apple very receptive to self promotion posts - just make sure you meet the criteria. You can also do a discount period and advertise on /r/AppHookup. Last Black Friday I reduced a $2 to 29c (lowest allowed price) and made just shy of $500, and it boosted my place in the store search

Best of luck!

sltr 4 hours ago [-]
> haven't paid for the Apple Developer Program yet

Then you aren't even half done. You still have to undergo the memorable experience of code sign and app store review.

First wrote iOS apps in 2010. Loathed it then, loathed it now.

I shun these devices for which I can't write my own software without permission.

st3fan 4 hours ago [-]
Code signing has been a non issue for years now. It was a complete horror show when we started 15 years ago but in today's Xcode it all just works out of the box.
gregoriol 53 minutes ago [-]
Oh while a single simple setup is easier, it's still a horror show as soon as you need entitlements, more build environments, more devices (wtf does Apple makes us wait 72 hours to add one?!), ... Apple caters to kids starting development these days, not enterprise developers.
earthnail 18 hours ago [-]
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 17 hours ago [-]
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 16 hours ago [-]
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.
bredren 2 hours ago [-]
There are changes that can be valuable to users. Like the privacy attestations. I was not publishing at that time but I presume that was part of the mandatory dev march.
x0x0 16 hours ago [-]
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 16 hours ago [-]
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.

trinix912 8 hours ago [-]
I can easily do those on my Late 2013 MBP running Catalina, but not iOS development for the App Store, because it has a minimum Xcode version requirement, which in turn requires a newer OS, which requires buying a new Mac.
monkeyelite 12 hours ago [-]
Yeah companies who care about this stuff use more mature ecosystems that don’t break api every year.
owebmaster 6 hours ago [-]
Wait what? Isn't App Store and Play Store mature ecosystems yet?!
ClumsyPilot 15 hours ago [-]
> This sounds like Python development....and React.....and Svelte....and oh, remember Angular 2 to 3?

I can open a webpage written in Angular 1, or written in year 1990. I can run a program written for windows 95 on my new PC with windows 11. It’s normal to keep compatibility for compiled/finished ebd user software.

gofreddygo 10 hours ago [-]
but, can you run npm install on your angular 1 codebase from 1990? or was it bower install ? remember grunt?

my 2012 mac hardware works perfectly fine, even the battery is OG, apple stopped supporting it, chrome won't give update on the last supported os.

software is fragile.

i constrain myself to html and plain vanilla js. if i have to use deps, they are local or hosted .js lib files, minified. d3 is a great example of this pattern.

aquariusDue 3 hours ago [-]
I miss gulp, things seemed so much simpler back then in retrospect and the nature of JavaScript fatigue seemed to be the FOMO kind instead of this abstraction over abstraction that abstracts that other abstraction but you still have to the understand what it abstracted away kind we have going on today.

Will TypeScript go the way of CoffeeScript in the future? Who knows.

tonyhart7 15 hours ago [-]
well atleast those react,angular apps still works

ios app on apple store??? not so much

x0x0 1 hours ago [-]
Nonsense. Upgrading python using standard tools does not regularly require OS upgrades. asdf, rbenv or various other tools will happily pull in new releases from their ecosystems.

Go requires macos from 2016 or kernel 3.2 which I think is over a decade old. I can't find any limit for jvm 25, though I'm sure there is one. No competently-built tool requires OS upgrades like xcode.

m3kw9 11 hours ago [-]
Apps will work if you don’t update it I have apps that are 10 years old not updated and still work
bredren 18 minutes ago [-]
Some last, some don’t. I think it may depend on how the app is implemented and what it depends on.
criddell 4 hours ago [-]
> Making reasonable money on iOS is hard

It’s also difficult to be a solo dev on Android, Linux, macOS, Windows, the web, etc…

The safest way is to work as a developer for a company that will pay you to do it.

neepi 18 hours ago [-]
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 16 hours ago [-]
Did the idea really require being an app? Could it have been a website/webapp instead?
criddell 4 hours ago [-]
Do you think it’s easier to make a living creating web apps?
dylan604 3 hours ago [-]
There’s no code signing process or update review. There’s no $99/year registration fee for the privilege to have your code signed. There’s no up to -30% hit on your fees.

So yeah, there’s an easier way of avoiding the Apple specific pain points. If you think that I felt it would be easier to program the actual app, then you’re clearly just trying to be a hostile commenter and insinuating something about me.

criddell 2 hours ago [-]
I wasn’t talking about any of that. I was talking about the ease of earning a living as a solo developer on the platform. On iOS, it’s true that there are hoops you have to jump through and you have to share 15% of your fees (if you get to the point where you owe 30%, you are doing well!), but in return you get access to a fairly large audience of people willing to pay for apps and services.

The web is the Wild West and I don’t really have much of a feel for how difficult it is to find an audience that will pay to use the software you build.

neepi 10 hours ago [-]
It could but I respect my potential userbase too much to make it more convenient for me and less convenient for them.
adastra22 15 hours ago [-]
How do you do photo deduplication on a website?
dylan604 15 hours ago [-]
WASM
adastra22 15 hours ago [-]
Photos are on device.
MBCook 16 hours ago [-]
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.

ensignavenger 17 hours ago [-]
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.
16 hours ago [-]
nikolayasdf123 8 hours ago [-]
true to that. App Store is flooded with junk. it is hard to get to users even with legit free good app. and marketing is unbelievably expensive. users trust into random apps on App Store is very low too. getting iOS apps to work is very very hard.
9d 16 hours ago [-]
Pure iOS apps stopped being profitable in 2009 or so.
dylan604 16 hours ago [-]
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?
nikolayasdf123 7 hours ago [-]
it should go without saying that development cost, and rest of operational cost (design, legal, etc.) should be considered as zero. meaning do yourself with no pay. with all money goes into marketing. only then there is slight hope to break even.
Spivak 18 hours ago [-]
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.

amelius 18 hours ago [-]
How do you know what they make? Maybe it's only $100? For three days work, that's terrible.
vunderba 17 hours ago [-]
Made even worse by the fact that the apple developer membership costs 99 USD per year...
jll29 16 hours ago [-]
So Apple gets $99/year PLUS 30% app revenue share?

So at a $2.99 "fair" price point as mentioned in the post, how many copies does he have to sell to break even (assuming 4 days of development priced at $2,500/day contractor rate)?

  (1     * .99) * .70 - (4 * 2500 + 99) < 0
  (10    * .99) * .70 - (4 * 2500 + 99) < 0
  (100   * .99) * .70 - (4 * 2500 + 99) < 0
  (1000  * .99) * .70 - (4 * 2500 + 99) < 0
  (10000 * .99) * .70 - (4 * 2500 + 99) < 0
  (14574 * .99) * .70 - (4 * 2500 + 99) = 0.78
The answer is => 14,574 downloads would give him $0.78 profit, before taxes. (In that time, he would have earned more than $13,000 for Apple.)
ricardobeat 16 hours ago [-]
On what planet do iOS contractors make $2500/day?

That aside, 1) the author is not an experienced iOS dev 2) hourly rates != cost, and 3) you can certainly get the same app built for under $1000 by a freelancer.

You also seem to have accidentally used a $0.99 price instead of $2.99.

Real break-even would be closer to 1k-2k sales.

sokoloff 16 hours ago [-]
I thought it was 15% for devs selling under $1M per year.

It also seems like a super-weird analysis angle to both pay yourself a (very generous) full day rate AND then expect upside on top of that and conclude that making just the $10K for 4 days’ work is somehow a loss for the solo entrepreneur.

4hg4ufxhy 15 hours ago [-]
I think he is implying that that is neutral, not a loss. It is opportunity cost.
sokoloff 15 hours ago [-]
Is the opportunity cost of someone who has never programmed an iOS app before $2500/day as an iOS dev?

Maybe in some analyses, but that’s not where I’d estimate it. If they’re turning down other $300/hr work, sure, but that’s not how I read the account.

isoprophlex 3 hours ago [-]
$2500 a day?! I will do anything, including clubbing baby seals to death, for half that rate. Is there any place where you can make that kind of cash doing contracting work?
loginatnine 3 hours ago [-]
You calculated based on a 0.99$ purchase price though, at 2.99$ it's 4825 purchases to break even.
Spivak 15 hours ago [-]
We're talking about an app made as a weekend project to solve a problem the developer themselves has. Most normal humans would count their time as being free. I pity the person who considers the economic value and tax implications of their leisure time projects. So the calculation is just how many downloads do they need to make up for the $99 developer fee which breaks even at 47 downloads at 30% or 38 at 15%. Definitely not unrealistic.
matwood 10 hours ago [-]
> I pity the person who considers the economic value and tax implications of their leisure time projects.

Learning iOS development also has economic benefit beyond the app created.

fractallyte 9 hours ago [-]
I released my game for free on the App Store. 1.5 years of effort - for free?

Well, it's a calling card that I can flaunt whenever needed. So far, it's helped me land two jobs, and I can confidently leverage it in future too.

I never bothered with rankings or marketing, since I can send out the link to anyone.

So, that's how I get value out of the App Store.

heliographe 17 hours ago [-]
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 :)

nikolayasdf123 7 hours ago [-]
+1 agree with above. looks very accurate to what I see so far (1 month in App Store).
vachina 16 hours ago [-]
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.

bob1029 4 hours ago [-]
For B2B scenarios, I was able to wiggle my way out of learning the iOS ecosystem by using PWAs in Safari.

If you have access to a mobile device management system, it's trivial to push "apps" to the Home Screen of each device using this technique.

For B2C, I don't have any good alternative. You're going to need to be in the App Store.

rcarmo 9 hours ago [-]
The author hasn’t yet realized that will need to re-download their app to the phone once a week even if they don’t make any changes, which is the main reason I just don’t bother with iOS development.

Not being able to easily maintain apps on hardware I own and having to check in with Apple every few days is insane, and the workarounds are ridiculous and unwieldy. It’s the principle of the thing that gets to me.

bowsamic 5 hours ago [-]
Yes I don’t mind the App Store fee but the fact I can’t write my own apps for my own phone is insanity. I’d write little apps for myself otherwise. Apple do not care about such things of course. There is no modern HyperCard
w10-1 5 hours ago [-]
The OP makes a surprising amount of progress.

As other comments note, it's easy to get caught in the weeds of Apple API's and tooling, but AFAICT they generally do as good as possible at the hard problem of compatibility.

The worse problem is that you will get blocked after significant investment.

It's because of Apple's scale and focus. They have millions of developers, but only about a thousand really significant ones driving the latest APIs. To avoid delay and noise, Apple ships and demos the happy path, but fails to warn about all the surrounding pitfalls.

You will hit one, sooner or later.

And any pitfall can be a complete blocker. Unlike web, enterprise, or back-end work, where Java, python, and javascript/typescript libraries and apps are readily available in open-source, bugs present as inscrutable binary blobs that are mostly ignored in the black hole of feedback assistant unless you have some real pull.

It's easy to get started as a solo, but to manage the infinite space of mine fields, you'd need to be in a large organization where people have learned where not to step.

sebasvisser 17 hours ago [-]
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 18 hours ago [-]
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?
radicality 13 hours ago [-]
Except you don’t seem to be able to filter by actual duplicates, it shows you both exact dupes and visually similar matches
tabarnacle 17 hours ago [-]
Didn’t realize this existed, nice.
m3kw9 10 hours ago [-]
This is how a lot of apps make money. People don’t know something free existed. It’s a lot of marketing and is super important
kaptainscarlet 18 hours ago [-]
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 18 hours ago [-]
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 15 hours ago [-]
The switch to the new rendering architecture is really massive, a lot of libraries have subtle bugs that are not yet fixed.
tcoff91 15 hours ago [-]
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?

cyberax 14 hours ago [-]
Yes, but we found plenty of bugs. Fixed some (e.g. in TrueSheet). It is drastically faster, but I won't call it a "game changer".

It's great for us because we have native code modules, and seamless Turbo Modules are nice (you _can_ use them with the old arch, but it requires some jumping through hoops).

As for reanimated, I would just stay away from it entirely. Way too many layering violations for my taste.

tcoff91 1 hours ago [-]
It’s not so much the performance that has me excited, just the synchronous vs asynchronous communication with the renderer.
cyberax 53 minutes ago [-]
It has its own problems... Since the async round-trip is gone, you can end up with rendering happening too _early_.

The rendering is also not truly synchronous, you can't resize graphical surfaces from the JS thread. You still need to do a round-trip to the platform UI thread. So for example, React Native WebGPU misrenders an image when you rotate the screen because of that.

The rendering callback ends up running before the surface has the chance to get resized. I've also seen that with other libraries that mix native rendering. I'm pretty sure reanimated is also susceptible to this.

jll29 16 hours ago [-]
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.

mvkel 13 hours ago [-]
A great article that stops right where iOS development becomes a hassle: actually getting it published in the App Store.
Gisbitus 8 hours ago [-]
This post was a wake up call. Last year I spent a week learning Swift the "old fashioned way" following Apple's tutorials, with not much to show for it when I was done. Even though I use AI for coding daily, since XCode doesn't natively support it, I just decided to not use it.

Seeing how far you went in just a couple of days, I realize now how much I missed out.

Congrats on the app!

andrewmcwatters 1 hours ago [-]
The App Store does great business, but its customers aren't the people downloading the apps, their real customers are the developers.

It's incidental that the largest businesses in the world have apps on the Apple App Store, but it's not because the App Store is a great platform.

If no one is selling annual $100/yr apps, but Apple is charging you that much, you're the customer.

There is absolutely no world where polished software that you can own is $2.99, sorry folks. Coffee costs more.

nottorp 7 hours ago [-]
> I'm about 90% done, I think.

... and the rest will take the other 90% of the time :)

deverman 16 hours ago [-]
Congrats on building with Swift!
monodot 7 hours ago [-]
Fascinated to read this post as I’m doing almost exactly the same thing. Just started using Xcode for the first time, a month ago. I’m not inexperienced with software development, but having to rely mostly on Xcode, Apple’s Developer documentation, information embedded inside WWDC videos, and random forum posts, has been a pretty rough experience.

So Claude has been a massive help, to get to a working app quickly. I am using it in a similar style to the author. Discuss in the UI, try really hard to cherry-pick from the code it generates, while trying to understand what it’s doing. Claude is not clever enough to realise it’s selling you out-of-date APIs, so i feel I need to be super vigilant, which chimes with what folk are saying here about the iOS upgrade treadmill. I’ve supplemented with a couple of technical ebooks as backup.

But the feeling of having your own app, that does something which improves your own life, running on that computer you’ve been carrying in your pocket for years, is extremely rewarding! (In my use case it needs to be an app not a PWA because it needs to integrate with device APIs.)

dirkc 6 hours ago [-]
> But the feeling of having your own app, that does something which improves your own life, running on that computer you’ve been carrying in your pocket for years, is extremely rewarding!

It's great that you did this, kudos to you!

At the same time it is a little sad to read a statement like this. It used to be so natural for anyone doing software development to write things that improves their lives running on their own devices. Mobile has made this so much more tedious and then you need to ask for permission if you want to share the app.

Last year I also launched my own app on the app store [1], and briefly reflected on the experience [2].

[1] - https://dingdongdoorbell.com/ [2] - https://www.thebacklog.net/2024/10/22/building-and-releasing...

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 15:59:40 GMT+0000 (Coordinated Universal Time) with Vercel.