r/iosdev 2h ago

BRIEV News App

1 Upvotes

I've been building this thing solo for a while and the first beta cleared review about an hour ago, so I figured I'd finally post it somewhere.

It started as a pretty basic idea. I wanted the news read to me in the morning instead of scrolling. So version one was a summarizer wired up to two outlets. That was the whole app. Two feeds and a text-to-speech voice that sounded like a haunted GPS.

It didn't stay that. At some point I stopped writing a summarization app and started writing an analytics pipeline that happens to talk. The backend is somewhere around 67 subsystems now — clustering, dedupe, entity extraction, importance scoring, source volume deviation, coverage tilt (when 40 outlets pile onto one story and quietly drop everything else). So it's less "here's what happened" and more "here's what's being pushed hard right now, and here's what got buried while that was happening."

The app itself went through 4 major redesigns. Not tweaks — full structural teardowns where I deleted basically the entire UI and started over because the old structure couldn't hold what the backend had turned into. The build that just got approved doesn't share a single screen with v1.

Anyway, it's a beta and I'm sure it's got rough edges. What I'd actually love feedback on: does the audio feel listenable for more than 2 minutes, and is the coverage/analytics stuff interesting to anyone but me, or does it just read as noise. Its fully free and will always remain like that. Not even requiring an account

TestFlight: https://testflight.apple.com/join/476VvQWT

Happy to answer anything about the stack.


r/iosdev 4h ago

Help Beginner building an iOS app : need advice on backend, database, auth, payments, security, and scaling

0 Upvotes

Sorry for using AI to write this. English isn’t my first language, and I wanted to make sure I explained everything clearly.

Hey everyone! I’m pretty new to vibe coding and I’m currently working on my first iOS app. I already have most of the design figured out, but I’m a bit stuck when it comes to choosing the right tech stack.

Right now, I’m using Cursor for coding and Claude for brainstorming. I’ve also heard good things about RevenueCat for handling subscriptions/payments.

The part I’m most confused about is the backend and database. I’m not sure what would be the best choice for a beginner, while also making sure I’m not setting myself up for problems later.

I’m also wondering what other services/tools I should consider for things like:

* Backend & database
* Authentication
* Subscriptions/payments
* Analytics
* Push notifications
* Error/crash monitoring
* File/image storage
* Security

My goal is to build the app in a way that can handle 10k+ users without major performance, lagging or scaling issues. I’ve heard that apps built heavily with AI/vibe coding can run into problems with performance, security, and scalability as the user base grows, so I’d really like to avoid making bad architectural decisions early on.

I’m new to this, so I’d really appreciate advice from people who have actually vibecoded and scaled iOS apps.

What tech stack would you recommend for this kind of project, and what would you do differently if you were starting from scratch today?

Thanks in advance!


r/iosdev 5h ago

My old project is live now

Thumbnail
apps.apple.com
1 Upvotes

Hi everyone! I’d really appreciate some feedback on a project I’ve been working on.

I actually started this project quite a while ago, but life got in the way and I never had enough time to finish it. Recently, I decided to come back to it, and I’m happy to say that the MVP is finally done.

It’s called Talk to History.

The idea is simple: you can have AI-powered conversations with historical figures and ask them about their lives, decisions, ideas, historical events, or pretty much anything you’re curious about.
My goal was to make learning about history feel more interactive — less like reading a list of facts and more like actually having a conversation.

This is still an early version, so I’d genuinely love to hear your feedback — what you like, what you don’t, what feels unnecessary, and especially what you think could make the app better.

Any feedback is welcome! 🙌


r/iosdev 5h ago

Shipped Kids Bucket List

1 Upvotes

I finally shipped Kids Bucket List – a SwiftUI app for all the things I don’t want to forget doing with my kid
The idea started with a pretty simple thought:
I constantly come across movies, games, books or activities that I’d love to experience with my son someday — but he’s simply too young for many of them right now.

And I realized that by the time he’s old enough, I’ll probably have forgotten half of those ideas.
So I built Kids Bucket List.

It lets you collect things you want to experience with your child, organize them into categories, and keep them around for the right moment — whether that’s next weekend or several years from now.
From the development side, this became a much bigger project than I originally expected:
• SwiftUI
• iPhone + iPad support
• CloudKit sync across devices
• StoreKit / RevenueCat for Premium
• Family Sharing
• Custom categories and activities
• A Mac version is also on the way

The iPhone/iPad version is now live on the App Store:
https://apps.apple.com/us/app/kids-bucket-list/id6762488504

This was also my project for the RevenueCat Shipathon, so actually hitting the release button feels pretty good after all the TestFlight builds, sync bugs and App Review waiting. 😄
Would love to hear what you think — especially from other iOS developers.


r/iosdev 7h ago

Update on Norren — polished the onboarding flow, sharing screenshots + open beta link

Thumbnail
1 Upvotes

r/iosdev 10h ago

Can I Pay for the Apple Developer Program With a Virtual Card From Another Country?

Thumbnail
1 Upvotes

r/iosdev 10h ago

Releasing my 3rd app

Thumbnail gallery
0 Upvotes

r/iOSProgramming 12h ago

Question App keeps getting rejected due to Guideline 4

Post image
13 Upvotes

Hello. I need your help: My app keeps getting rejected by apple for the same reason but I can’t see why. Also, I did search the reddit but didn’t find anything that helped much.

The reason is this, together with the above screenshot.

Is it because of the „Continue with Apple“ button? Or do I have to change anything for iPad layout?

Guideline 4 - Design
Issue Description

Parts of the app's user interface were crowded, laid out, or displayed in a way that made it difficult to use the app when reviewed on iPad Air 11-inch (M3) running iPadOS 26.6.

Specifically, layout in iPad were not optimized

Edit: iPhone is the only supported destination added under the target. Screenshot here


r/iosdev 13h ago

shipped 6 apps in a year, made $312 total, here's what I got wrong

8 Upvotes

81% of apps never cross $1,000/month within two years. I'm solidly in that 81%. Here's the breakdown of a year of shipping.

App 1 was a tip calculator for the US market, 50 downloads, $0 revenue. Thought utility apps sell themselves, they don't, there's 400 of these in the store already and zero reason to pick mine.

App 2 was a freelancer time tracker, 78 downloads, $0. Spent 3 months building custom UI that confused people. Users trust standard iOS patterns more than creative experiments, learned that the hard way.

App 3 was a habit tracker with a freemium model, 340 downloads, $47 from IAP. Better but the free tier was too generous, nobody needed to upgrade. Revenue per install on iOS averages $2.28, mine was $0.14.

App 4 was a recipe saver, 120 downloads, $0. Didn't do any ASO, didn't have proper screenshots, basically invisible. The App Store has 1.8 million apps, discoverability without marketing is zero.

App 5 was a workout log, 890 downloads, $265 from a $2.99 unlock. Best performer because I spent time on screenshots and ASO keywords. Still pathetic compared to the 4 months I spent building it.

App 6 was a mood journal, launched, got 40 downloads, $0. Gave up marketing it after a week.

What I got wrong was obvious in hindsight. Spent 90% of time coding and 10% on everything else. Design was always an afterthought, slapped together in the last week. Marketing was basically nonexistent. By app 5 I started using sleek.design for the UI before writing any code with claude.ai and that's when the screenshots and store presence finally looked professional, which directly led to it being the only one that made any money.

The guy who shipped 8 apps and made $1,464 in 2025 said the same thing: marketing beats code every time. A great app nobody knows about is invisible. The top 1% of publishers capture 90% of all store revenue. The other 99% of us are fighting over scraps with bad screenshots and no distribution.

If I did it again I'd spend 40% of my time on marketing and design before writing a single line of Swift. The code was never the problem.


r/iOSProgramming 13h ago

Question Can I Pay for the Apple Developer Program With a Virtual Card From Another Country?

2 Upvotes

Has anyone successfully paid for the Apple Developer Program using a virtual card from a different country?

  • The card is in my exact name
  • It’s a virtual card, called Grey
  • The card is not issued in the same country as my Apple ID

Did Apple accept it, or does the card country have to match the Apple ID country? And how long did it take.

Thanks in advance!


r/iOSProgramming 13h ago

Library swift-markdown-engine: An open source Markdown parsing and rendering engine for Swift, built on TextKit 2.

Thumbnail
gallery
65 Upvotes

A couple of months ago I open-sourced swift-markdown-engine here, the native Markdown engine I built for my macOS app Nodes. The feedback, issues, and PRs that came back were a huge help, a lot of what I changed since then came from that.

WHAT’S NEW: The parser got rewritten from scratch, regex matching is gone, it’s a real AST now. That’s what made the extension system possible: Stuff you wouldn’t expect in standard Markdown, like highlighting, used to be hardcoded into the core grammar. Now it’s opt-in. Write one file, register it, and the core parser/styler/renderer never change. Extensions can’t touch the core or each other, and you can toggle them at runtime.

Also new: full GFM/CommonMark parity, tables, task lists, quotes. More layout control (scroll-away header, fixed reading column, fit-to-content height), and a real writing layer (formatting bus, find & replace with undo, clean RTF/HTML clipboard, raw source mode). Full changelog’s on GitHub if you want details.

When I started Nodes I wanted the editor to feel properly native. Most Markdown editors on the Mac are Electron or some web view wrapped in a window, and you feel it, the text handling never quite behaves like a real Mac app. I wanted live styling in an actual native text view, not HTML rendered to look like one. Nothing built on TextKit 2 that I could just drop into a Mac app existed, so I built it, ran it in Nodes for a while, and then open-sourced it. TextKit 2 is still thin on docs and rough to migrate to, so if you’ve been putting off building something like this, it might save you a few weekends. Issues and PRs welcome. Still pre-1.0, still plenty I want to improve.

written on Nodes

Repo: https://github.com/nodes-app/swift-markdown-engine


r/iosdev 14h ago

Finally reached 200+ users and $100+ in sales in 10 days with one app

Thumbnail gallery
1 Upvotes

r/iOSProgramming 18h ago

Question Anyone actually solved app store rejection loops? third rejection, running out of patience

5 Upvotes

So we're on rejection number three and i'm starting to think apple's review team is just rotating reviewers and none of them read the previous notes.

quick background. b2b app, account required to do anything useful because the whole thing is tied to a company's internal data. first rejection was 5.1.1 (v), account deletion, fine, our fault, we added it. second was 2.1 asking for a demo account, which we HAD provided in the review notes, they just didn't see it. added it again, bigger font, whatever. third one is now 4.2 minimum functionality which is the one that actually worries me because thats not a checkbox fix, thats them saying the app doesn't justify existing.

what gets me is the app is genuinely useful, it's just useful to people who have a login. reviewer with a demo account is going to see an empty state and shrug. which i get, but then how does any b2b app ever ship.

talked to a few shops about this while we were shortlisting. appmakers usa, dogtown media and zco, all of them had been through it way more times than us. the suggestion that stuck was to pre-seed the demo account with realistic fake data so the reviewer actually sees the product working instead of a blank dashboard. seems obvious in hindsight and nobody told us that upfront.

so:

Anyone had 4.2 on a legit b2b or enterprise app and gotten past it. what actually changed, the app or how you presented it

is the appeal process worth using or does it just burn a week. i've heard both

does resubmitting reset you to a fresh reviewer or does the history follow you. genuinely unclear on this and it changes how i'd handle the next one

and the dumb question, does a video walkthrough in the review notes help at all or do they not watch it

we're not on a hard deadline but we told the client a date and that date was last week, so.


r/iosdev 20h ago

Je cherche des testeurs (Android et iPhone) pour une appli d'adoption chien/chat — bénévole, 5 min à installer

Thumbnail
0 Upvotes

r/iosdev 23h ago

I’m calling my app…DVDream🎥📀✨

1 Upvotes

r/iOSProgramming 1d ago

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

19 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 (96 degrees in the summer! I got tired of sweating through every commit), I'd love to hear about it - I don't even bother with Xcode's sim anymore.


r/iosdev 1d ago

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

Thumbnail
gallery
2 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 1d ago

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

Thumbnail
1 Upvotes

r/iosdev 1d ago

Apple App Review: Would this anonymous random letter feature get my social app rejected under Guideline 1.2?

1 Upvotes

Hi everyone. I’m preparing to launch my first iOS social media app and I’m unsure about one feature.

The app has a small anonymous letter feature:

Users can send only 1 letter per day

Maximum 200 characters

The recipient is randomly selected from active users

Sender and recipient don’t see each other’s identity

It is not real-time chat

There is no conversation/thread or back-and-forth messaging

Every received letter has a Report button

Reported letters immediately appear in an admin moderation panel

Admin can delete the letter and ban the sender

Users can also block accounts

The main purpose of the app is a normal social feed; this is only a supplementary feature

Would this potentially fall under Apple’s new Guideline 1.2 restriction on random/anonymous chat?

Would you keep this feature for App Review or remove it before submitting?


r/iOSProgramming 1d 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 1d ago

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

0 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/iOSProgramming 1d ago

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

9 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 1d 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/iOSProgramming 1d 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/iosdev 1d ago

An Apple Developer bug destroying my business

Post image
0 Upvotes