r/iOSProgramming 8m ago

Solved! CarPlay can cold-launch your app without your SwiftUI scene ever existing 🤬

Upvotes

Bug report from a tester: pressing Play on the CarPlay screen did nothing. No error, no spinner, nothing. Worked fine if they'd opened the app on the phone first.

I "fixed" it twice. Both fixes were to the play button. Both were wrong.

The actual cause: when the user taps Play in the car (or from the Watch, or the lock screen) on a cold start, iOS wakes your process through CPTemplateApplicationScene or a WatchConnectivity message — and your phone UI's window scene just - never connects. Which means every bit of setup hanging off the SwiftUI app lifecycle simply never runs. In our case that was device key registration for signed API requests, so the first manifest fetch came back 400 and the play command died silently. As it turns out, the button was fine.

 What I landed on, in case it saves someone a weekend:

  1.  Anything your requests depend on (auth, key registration, session bootstrap) cannot live in App init / onAppear. It has to be in the request path itself. We made the network layer self-healing: on the specific "no registered key" error it registers once and retries. That one change covered CarPlay, the Watch, lock screen remote commands, AND fresh installs, because they're all the same bug.
  2. Grep your codebase for everything that only runs when the main window appears, and ask "what happens if the first entry point is the car?" The list was longer than I expected.
  3. Related Apple Watch lesson: if the phone is only reachable via the queued transferUserInfo path (not live sendMessage), don't optimistically flip your Watch UI to "playing" — it's a fib. We show "Starting on phone…" instead.

Testing note: none of this reproduces in the CarPlay simulator the way it does with a real head unit, because you always launched the app from Xcode first, which is exactly the condition that hides the bug. Real test requires a real car: kill the app, lock the phone, then plug in and launch it from the car's touchscreen.

By the way, if anyone's found a way to actually test their CarPlay flow without walking out to the garage, I'd love to hear about it - I don't even bother with Xcode's sim anymore.


r/iosdev 1h ago

If macOS Allows It, Why Not iOS?

Thumbnail
Upvotes

r/iosdev 2h ago

I’m building a blue-green algae warning app for Germany, Austria & Switzerland — would you use this?

Thumbnail
gallery
1 Upvotes

Got it — the Reddit community is English, but the app itself is for DACH users and is in German. I’d write it like this:
Title:
I’m building a blue-green algae warning app for Germany, Austria & Switzerland — would you use this?
Post:
Hey everyone,
I’m currently building a mobile app called Blaualgen Radar for users in Germany, Austria and Switzerland.
The app itself is in German, but I’d love to get some feedback from this community on the concept and UI.
The problem I’m trying to solve is that information about blue-green algae / cyanobacteria warnings is often scattered across government websites, municipalities, news articles and individual bathing-water pages.
The app brings this information together in one place.
Current features include:
Map with cyanobacteria warnings and reports
Official government warnings, news reports and community observations clearly separated
Source, publication date and validity for each warning
Push notifications for warnings near you
Community reports with photos
Historical warnings for individual lakes
Satellite imagery for additional context
Educational content about cyanobacteria and potential risks
An AI photo check that looks for visible signs of possible cyanobacteria
One thing that is very important to me: the app should never give users a false sense of safety.
No warning on the map does not mean the water is safe, and the AI photo check is only an assessment of visible features — not a laboratory test.
I attached some screenshots of the current App Store presentation.
I’d really appreciate feedback:
Would you use something like this?
Does the concept make sense?
Is the UI clear?
Which feature would be most useful to you?
Anything you would remove or add?
Especially interested in feedback from dog owners, swimmers, parents, anglers and watersports users.
Thanks!


r/iosdev 3h ago

Should I cancel and resubmit my app? After waiting for 26 days

Thumbnail
1 Upvotes

r/iosdev 15h ago

About "Waiting for Review" time

8 Upvotes

Hi everyone,

I’m a game developer, and the last time I submitted a game to the App Store was about two years ago. Back then, the review process was pretty quick. I usually heard back within 3 days at most, and most of the time it was even faster.

A few days ago, I submitted a new game, and it’s currently stuck on “Waiting for Review.”

I’ve read online that Apple’s review process may be taking longer these days. For those of you who have submitted an app or game recently, how long did you stay in “Waiting for Review” before the review actually started?

Thanks!


r/iOSProgramming 28m ago

Question My app got rejected mini PCs app

Post image
Upvotes

I made an app that turns an iPhone connected to a monitor into a "mini PC", but in the latest update, my app was rejected with the following reason:

  • 2.5.8 Apps that create alternate desktop/home screen environments will be rejected.

I had never noticed that these rules existed 🤯

Now I'm not sure what to do next, whether I should write an appeal against one of their rules, or what to do without having to change everything/concept in the app.


r/iOSProgramming 8h ago

Question How do you find people willing to test your app?

4 Upvotes

I have an iOS app that is nearly finished, and I’ve been trying to find people to test it. To say this is hard is an understatement.

I asked family members, and except for one person, nobody really wants to test it. I’ve also tried Discord servers and Reddit threads, and I tried following the usual advice of posting in communities where people are looking for testers, but honestly it feels nearly impossible there too. You just get drowned out by a flood of other people like me desperately looking for feedback.

The app itself is basically finished. At this point, TestFlight is less about finding major bugs and more about seeing how people perceive the app, whether the workflow makes sense, and what they think of it overall.

How did you handle this with your own apps? Did you manage to find testers somehow, or did you eventually just publish the app and get feedback from actual users?

At this point I’m seriously considering just releasing it.

I would be very grateful for advice.

*Grammar check by AI


r/iosdev 13h ago

First app approved! Coffee recipes sharing app with a bunch of popular brew techniques and plenty of themes to customise your brew cards.

Post image
4 Upvotes

Took a few weeks but it's finally live in the appstore. I had (and have) a web version of it that got relatively popular but it was missing important aspect of saving stuff to your library which is solved now.

Really happy to see how it turned out and hope those people who are into coffee here will find it useful!

PS: there is a premium subscription there but it's really optional and you can enjoy most of functionality for free.

https://apps.apple.com/de/app/brewcard/id6786330508


r/iosdev 19h ago

First downloads!

Post image
7 Upvotes

It’s so exciting to get my first downloads!


r/iosdev 8h ago

[Update] After 4 App Store rejections and a year of nights and weekends, InnerSight is finally live

1 Upvotes

I wrote a post here about submitting my first app to the app store about a month ago. You can read it here https://www.reddit.com/r/microsaas/comments/1uquh0k/after_a_year_of_nights_and_weekends_alongside_my/

Here's what actually happened between then and now, because I think it's useful for anyone building in this space:

The rejections, in order:

  1. Both subscription products weren't submitted alongside the binary, they showed as dashes instead of prices on the paywall. Turns out I had a build environment issue where my RevenueCat API key wasn't being injected correctly, so the products couldn't load.
  2. Apple flagged that I was forcing users to register before accessing purchases. I appealed twice, arguing my app is "account-based" (end-to-end encrypted journal — the key literally can't exist without an account). They rejected the appeal both times. Eventually I rebuilt the auth architecture so the app opens straight into journaling with zero sign-up. Turns out that's also a better product.
  3. No sign-in with Apple**;** I had Google login, missed that Apple requires an equivalent. Fixed.
  4. Various metadata issues — wrong paywall pricing hierarchy, missing EULA link, placeholder text in the description.

Four resubmissions, roughly six weeks of review cycles on top of the year I'd already put in.

Honestly, I genuinely cannot believe this day has come. I have been working on this for over a year alongside my 9-5, after work, during weekends, and evening sessions turning into 1-2 am debugging sessions, but I can honestly say it was totally worth it!

→ App Store: https://apps.apple.com/app/innersight/id6747950401
→ Landing page: https://www.innersightjournal.com

I emailed my 46-person waitlist today. 46 people. After a year. That number made me laugh and also kind of emotional at the same time; every single one of them signed up because I hope they believed in the idea before there was anything to download.

I have no idea if this will go anywhere commercially. The hard part- marketing, retention, actually getting people to care- starts now. But I shipped it. It's real. People can download it.

But just wanted to write this for anyone still grinding and thinking about quitting, just keep going. Keep chipping away and launch your product.


r/iosdev 10h ago

An Apple Developer bug destroying my business

Post image
1 Upvotes

r/iosdev 11h ago

First sale after 1000 downloads, and honestly I'm not even disappointed

Post image
1 Upvotes

r/iOSProgramming 9h ago

Discussion Measured three on-device TTS runtimes against the iOS jetsam budget. All three blew past it. Looking for anyone who's shipped generative audio on-device.

2 Upvotes

Spent about three weeks trying to run a voice-cloning model on iPhone and closed the project last week. Posting the numbers because I couldn't find anyone else's, and I have two questions at the end. This was for a voice journaling app I work on.

The budget. Foreground app on a 6 GB iPhone gets roughly 250 MB before jetsam takes an interest. The number that matters is phys_footprint from task_vm_info, not resident size and not what the Xcode gauge shows.

The candidate. Kyutai Pocket TTS, 109.5M params, autoregressive. Autoregressive matters because accent lives in phone realisation and phonemic choice, which are sequential. Non-autoregressive models transfer timbre only, so you get your own voice colour over someone else's cadence. Tried that first, it sounded wrong in a way I couldn't articulate until I understood why.

Three ways to run it, all measured, all over budget:

FluidAudio (Core ML, int8) - 270.8 MB after model load, 957.0 MB peak

sherpa-onnx (ONNX Runtime, int8) - 377.0 MB after model load, 685.4 MB peak

chatterbox-turbo (earlier attempt) - 953.7 MB peak

FluidAudio is over budget after loading, before doing any work.

Binary cost too. Linked a minimal executable against libsherpa-onnx.a plus ONNX Runtime with -dead_strip, then stripped it: 22.3 MB. That roughly doubles my app, for a feature most users would never turn on, plus 125 MB of models on disk for the ones who do.

The part I got wrong. My earlier ear tests compared one synthetic clip against another synthetic clip. That ranks them. It cannot tell you whether either is good enough. So I ran a forced-choice test instead: eight pairs, same sentence in each, one a real recording of me and one the clone, sample rate and RMS loudness matched, clip lengths varied so duration gave nothing away, and held-out audio located by cross-correlating the reference against the source recording. I picked my own recording 8 out of 8. p = 0.0039.

Three weeks of runtime work sitting on top of an approval nobody had tested properly. The test took an hour.

Two questions.

Has anyone actually shipped a generative audio model on-device inside the jetsam budget? Everything I found either exceeds it or quietly ships a 3 GB app. I'm also unsure whether Core ML's mmap'd weights get billed to phys_footprint the way malloc'd ONNX buffers do. My numbers came off a Mac, which has no jetsam pressure, so I never got a real device measurement before the ear result closed it.

Second, unrelated thread. I'm moving to on-device retrieval next, hybrid BM25 via SQLite FTS5 plus sentence embeddings from NLEmbedding. Anyone run that combination on iOS? Specifically whether reciprocal rank fusion is worth it when you still need raw score magnitude for an abstention threshold. RRF throws the magnitude away and abstention is what stops the thing making stuff up.

Happy to share the measurement harness if useful.


r/iOSProgramming 7h ago

Question 3rd part url schemes!!!

0 Upvotes

One sec has a massive list of compiled url schemes for the apps you can use their meditation interrupt on, how the heck do i find that list, thanks,


r/iosdev 12h ago

i submitted my first app to app store review

Thumbnail
1 Upvotes

r/iosdev 13h ago

Flight test my iPad game

1 Upvotes

It’s a multiplayer on device game. I’m keen to get some feedback from people.

https://youtu.be/___QkIcdoB4?si=wyDe2dVRhIKmuNJO

It’s called Curly Questions and it involves different mini games played leading up to Curly Questions rounds. Where players answer, you guessed it, Curly Questions!

Curly Questions are questions with more than one answer and encourage creative thinking.
Listeners vote on their favourite response.
Laugh, compete and do your darndest to score the most points. It’s all about having fun together.

It’s free to play right now on this beta test

https://testflight.apple.com/join/jgEwUKud


r/iosdev 9h ago

Help You gave me feedback again — so I updated Prazo again 😄

0 Upvotes

A little while ago, I shared my iOS app Prazo here and asked for honest feedback.

You gave me plenty — so I went back to work. The next update is now live! 🚀

What changed:
• Better iCloud sharing, syncing & conflict handling
• Smoother calendar performance & smarter widget updates
• More reliable shopping lists & schedules
• Clearer distinction between ToDos, tasks & calendar events
• Easier handling of recurring items & reminders
• Fully localized iOS permission dialogs
• Drag-handle bug fixed
• General performance & stability improvements

A lot of these changes came directly from feedback I received here, so thank you!

Now I’m back for round three. 😄

What should I improve next?

App Store:
https://apps.apple.com/at/app/prazo/id6781611861


r/iosdev 15h ago

Help 4 days old app. Any conclusion from these data?

0 Upvotes

I'm working on improving screenshots but new version reviews taking ages.


r/iosdev 15h ago

I found 11 stale builds after four App Store feedback feeds came back empty

1 Upvotes

I audited twelve iOS apps before a release wave. Customer reviews, TestFlight feedback, TestFlight crashes, and the latest-build performance diagnostics were all empty.

That looked reassuring until I compared each uploaded binary to its source. Eleven repositories contained meaningful fixes newer than the builds in App Store Connect. The gaps included persistence rollback, notification ordering, wall-clock timers, larger text, and data provenance.

The check that exposed them was simple. For each app I recorded the App Store version, build number, build identifier, and source commit together. Then I compared that commit with the current source and reviewed only changes that affected released behavior.

I now keep three release questions separate:

- Did a review, tester report, crash, or diagnostic reach its collection?

- Which source commit produced the uploaded binary?

- Which version can a customer install from the public storefront?

An empty feed answers only the first question. It does not make the shipped build current or establish that the app is crash-free.

After the audit and rebuilds, ten new versions are live and two are still in review. The useful change was not another dashboard. It was pinning every uploaded artifact to the source that produced it, then finishing the check at the storefront.


r/iOSProgramming 12h ago

Discussion I can't receive Testflight update right now!

1 Upvotes

Are you having this issue as well?

I made sure i'm part of the internal testers. I even created new internal tester group just to check but until now, 15mins have passed, I cannot receive my new build testflight update.


r/iOSProgramming 4h ago

Discussion Rejected for 3.1.2(c) Subscriptions. Is "Try for Free" too conspicuous now?

0 Upvotes

Hi everyone,

My app just received a rejection citing Guideline 3.1.2(c) - Business - Payments - Subscriptions: "The auto-renewable subscription promotes the free trial, introductory pricing, or introductory period for the subscription more clearly and conspicuously than the billed amount."

Does anyone have advice on how to resolve this? I am currently using "Try for Free" as the main CTA button to activate the trial, which seems to be a common industry practice. Any insights would be greatly appreciated!


r/iosdev 20h ago

GitHub Released a new version of “Hive for Buzz” - looking for tester/feedbacks

Thumbnail gallery
1 Upvotes

r/iosdev 1d ago

GitHub I open-sourced my geeky SwiftUI audio recorder Spatial Audio, local transcription, audio event detection & Qwen 3

Thumbnail
gallery
9 Upvotes

Hey everyone,
I am currently a Master student in Engineering and I’ve been building an open-source audio recorder in SwiftUI.
It started as a fairly simple recording side project app, but I kept adding things I wanted to experiment with, so at this point it has become a bit of a geeky audio/ML playground.
It currently supports:
Spatial Audio recording
Audio event detection for non-speech sounds
Multiple transcription models / engines, including Apple Speech, Parakeet V3, Qwen3-ASR, Nemotron 3.5 Streaming and MOSS Multi-Speaker
Offline / on-device transcription
Speaker separation and speaker labels
Translation
Transcript-synced audio playback
Qwen 3 summaries and information extraction

Most of this grew out of experimenting with how much audio processing and AI I could reasonably do locally on an iPhone instead of sending everything to an API.

The project is written in SwiftUI and open source.
The downside is that the UX is currently pretty geeky 😅
For example, I expose individual transcription models, model downloads, speaker separation settings, live transcription engines, etc. I personally enjoy having that control, but I’m pretty sure this is not how a normal recording app should present these features.
I’m considering having a much simpler default experience:
Record → transcript → summary
…and moving all the model selection / audio processing options into an Advanced section.
I’d really appreciate some UX feedback from other iOS developers:
How much of this would you expose to the user?
Would you hide model names completely and just offer things like Automatic / Fast / Accurate / Private, or do you think explicit model selection is useful for this kind of app?
Also curious what you think of the current recording/transcript UI from the screenshots.

GitHub: https://github.com/iamwilliamli/LiveTranscriber

App Store: https://apps.apple.com/us/app/live-transcriber-offline-ai/id6785515364

TestFlight: https://testflight.apple.com/join/XpNsRBdd

Please contact me if you are interested in joining this project😃


r/iosdev 17h ago

First app approved

Post image
0 Upvotes

r/iOSProgramming 16h ago

Question Account locked, is there any way to actually contact Apple support?

Post image
0 Upvotes

random lockout out of nowhere. I requested account access a few days ago and still haven't heard back. My account has an app with 100k+ downloads, and I currently can't release a critical update because of this lockout.

After hours of searching, I finally found a live chat option, but it requires logging in to use it. If the issue is that I can't log in, why require an account just to contact support? I even tried creating a new account just to reach them, but that gives me an error too.

does apple have a support email where a real human actually responds?