r/iOSProgramming

Localizing an iOS app manually with AI is tedious.

Because accurate localization heavily depends on UI context, my current manual workflow for each string requires:

  1. Writing a text prompt explaining the context.
  2. Uploading a screenshot showing where the string appears.
  3. Cross-checking translations across multiple AI models.

Are there any paid tools or platforms on the market that automate this entire workflow (extracting strings, feeding UI screenshots/context to AI, and comparing outputs)?

reddit.com
u/yccheok — 7 hours ago

DispatchQueue doubts

Hi, what type of data types are allowed in setSpecific(key:, value:) and getSpecific(key:) methods of DispatchQueu ? there are no mentions anywhere.

Also can you recommend any resources for complete understanding of DispatchQueue , GCD , DispatchGroup etc. ?

Thank you!

reddit.com
u/usernameDisplay9876 — 12 hours ago

Handling Button Shapes setting in my app

I didn't know this was still a thing.
How can I make my app to handle the Button Shapes setting? I do not use it but some users have complained about the behavior of the app when they have this setting enabled, I can not force them to turn it off. Is there any modifier or function I can use in SwiftUI to disable it for my app?

u/Sad_Dare7025 — 12 hours ago
▲ 2 r/iOSProgramming+2 crossposts

I got tired of App Store Connect keeping me 48 hours behind, so I built a way to see new users and revenue in real time

A few weeks ago, I released new app on the App Store. It got some traction on Twitter, so I opened App Store Connect feeling hopeful about the sales numbers. Instead, I saw "Not Enough Data".

I refreshed it few hours later. Same thing. I checked again the next day. Still not enough data. I actually saved a screenshot of this.

It is not only a launch-day problem. You ship a big update, announce it on Reddit or X, start an ad campaign, or unexpectedly get some attention, but the analytics are always behind.

So I built InitSignal. It is deliberately much narrower than a traditional analytics SDK. You add a lightweight Swift package to your app, and it sends one event when someone opens the app for the first time. After that, the SDK goes quiet.

Privacy was a constraint for me, I wanted the App Store privacy nutrition labels stay as minimal as possible, so the SDK only sends the basic context needed to make each signal useful. No identity, sessions, screens, or behavioral history. At the same time, the goal is to give developers as much useful information as possible without invading their users’ privacy.

The dashboard shows for each download:
- the app version
- device
- OS
- storefront

For paid apps, InitSignal uses storefront pricing to estimate gross revenue and proceeds after Apple’s cut.

I also added Slack and Telegram for notifications, which I've been using with my own apps for the past few weeks, and the dopamine hit is real.

I recorded a quick walkthrough showing how InitSignal works:
https://www.youtube.com/watch?v=YajsKsYLdi4

Tech Stack
- Node.js and TypeScript with Postgres for backend and API
- React and TypeScript for the web app dashboard

Development Challenge

The interesting problem was deciding what “new” means without identifying or continuously tracking a user. The SDK stores a local first-launch marker so later launches send nothing. It also uses StoreKit 2 app transaction metadata to avoid reporting an existing customer as newly acquired when they first install a version containing InitSignal. The API deduplicates retry attempts on the backend.

It's available today, would love to hear your thoughts or any feedback!
https://initsignal.com

The Swift SDK is here:
https://github.com/InitSignal/initsignal-swift

If you ship iOS or macOS apps, how do you currently deal with the reporting delay after a launch or major update?

u/shargath — 18 hours ago

I gave up on being a developer

I completely gave up and do payroll now. After almost a decade of learning, building apps and creating packages. I finally just had to grow up and realize that I could never be a developer. I really thought if I worked hard and became skilled that I wouldn’t have to worry about anything else. It turns out that is not the case. Good luck to all of you. I hope your stories end up happier than mine.

reddit.com

What do you use for analytics, or do you just rely on App Store Connect?

I went with Mixpanel and wired it in from day one, before there was anything to measure. The reasoning was that adding analytics later means you have no baseline, so you can’t tell whether a change helped or you just got lucky that week. Retrofitting events into a codebase you’ve already shaped is also a lot more painful than putting them in as you build.
What I’m less sure about is whether that was overkill for a solo project. App Store Connect gives you downloads, conversion rate and retention for free, and a lot of people seem to stop there.
So, what’s everyone actually using? Third party tool, Apple’s own numbers, or something you rolled yourself?

reddit.com
u/Turbulent_Ad_1039 — 1 day ago
▲ 2.9k r/iOSProgramming+27 crossposts

why do i get like this

For anyone wondering, the app I'm working on is https://www.AppScout.co.

It helps people discover web and mobile apps from across the internet by showing them one app at a time. People like apps in order to get personalized app recommendations.

If you run a software startup or side project, you can list it for free to get free extra traffic here:https://www.appscout.co/submit/

(Affiliation Disclosure: I'm the sole creator and developer behind AppScout.)

u/Healthy_Flatworm_957 — 3 days ago

apple developer enrollment rejected

The support is really unhelpful and everytime a new person responds. I also hate how if you start with one machine you cant switch over which is apparently what is being asked of me. My laptop ( m5) had a hard time focusing on the ID and I used an iphone and from there it just locked up at the payment screen. It's been three weeks and just emails from apple saying they will assign a senior advisor.

any idea how I can resolve this?

reddit.com
u/GoldenParrot456 — 1 day ago

problems with trader doc upload to comply with EU DAS rules

wonder if anyone had a similar issue and resolved it - I have an app which is distributed now, but blocked in EU because of the DSA compliance. However I already uploaded the documents twice now and they seem to be accepted but after a few days they disappear and I get email from app store that I need to upload them.

I was uploading a bank statement where my name and address is clearly visible and for the identity - a passport pic.

I am wondering if it is because the address linked to my apple developer account is an old one? I raised a ticket with Apple to correct it. And on top of that I am on hold with their callback function to try to upload the docs again live with the support person but already waiting for 2 hours :D

reddit.com
u/Silver_Mud_4975 — 1 day ago

Where do you keep generation state in a SwiftUI app?

I’m building a small workout generator with a flow of preferences → generated session → reroll/start. I’m trying to avoid putting all of the generation logic in the view. Would you keep the generator as a pure service owned by a view model, or model each step as navigation state? I’d like rerolls to be repeatable in tests and not lose the user’s constraints.

reddit.com
u/UkrMalt — 4 days ago
▲ 8 r/iOSProgramming+3 crossposts

First painful release….

I still can’t believe Apple finally approved my app 😭
The timeline was a bit painful:
• Aug 1 — first submission
• Aug 12 — submitted an expedited review request
• Aug 13 — rejected
• Aug 14 — fixed everything and resubmitted
• Aug 15 — APPROVED 🎉
I’m seriously so happy right now, but also a little mad lol.
I started a 3-month free trial for my backend when I submitted the app, thinking the review wouldn’t take that long… and I basically burned through half a month of it just waiting for App Review 💀
But whatever. It’s finally LIVE.
I’ve been working on this app for a long time (around 3month building system design(backend, ui, app)

If anyone here has gone through a painful App Store review process before, you probably know the feeling.
Finally made it 🥲

u/IndependenceFresh940 — 5 days ago

Upset reviewers about paywall can drop 1star bombs before theyve ever opened the app.

After a lot of trial and error, free tiers and late onboarding etc I finally just went with a hard paywall as the others were not converting at all, users were content to just have 5% of the features.

So anyway, I had no idea users could NOT even start the trial and give bad reviews. How does this make sense from apple? If they let us have a mechanism or category for in IAP subscription with a wanring or something? Am I crazy to think this is weird? Did I miss a setting?

reddit.com
u/0__O0--O0_0 — 5 days ago
▲ 13 r/iOSProgramming+11 crossposts

Building a privacy-first period tracker in 2026 , how would you validate it?

Yoo!
I've been building Flowy, a privacy-first period and cycle tracking app for iPhone, and wanted to share it here as I get ready for launch.

The idea came from my girlfriend's being frustrated with existing cycle trackers: dense charts, alarmist notifications, and murky data practices.

Flowy is built around three things instead: quick, one-minute daily check-ins instead of endless fields to fill out, clear plain-language cycle and ovulation estimates instead of overwhelming graphs, and a strict no-data-selling policy, with full user control to export, reset, or delete your data anytime.

There's also a companion "Flowy Journal" with short, grounded articles on cycle basics and body literacy, aimed at being genuinely useful rather than SEO filler.

Right now I'm building in public and collecting early access sign-ups at flowyhealth.com before the iPhone launch. Would love feedback from this community, especially on positioning and how to talk about health-data privacy in a way that actually resonates rather than sounding like another disclaimer nobody reads.

u/Particular_Luck80 — 5 days ago

Has it always been this bad?

App store review is turning into a very frustrating process. I assume this is a reflection of the sheer volume of AI-built apps but the humans reviewing my app seem to be on auto-reject mode.

First rejection: "spam: we have enough dating apps"

My app has absolutely nothing to do with dating or meeting people, even the friendship link is a handshake ie you need your friend request accepted

Second rejection "no method for account deletion"

Literally in the most obvious place for it, account page, big red button "delete account"

I'll put my hand up, this is my first app, in the description part of the submission I assumed it was to describe the functionality of the app, was I meant to treat it as an FAQ?

reelones.co.uk
u/reviewwworld — 6 days ago
▲ 107 r/iOSProgramming+1 crossposts

After months of building, my app hit 80 ratings. Here is what actually worked to get reviews without being annoying

Hey everyone!

One of my most popular apps just crossed 80 ratings on the App Store with a 4.8 average. Small win, but I'm really excited to hit the 100 milestone soon!

For context, it's a educational app.

Wanted to share what actually helped me get reviews, because the first 20 were the hardest.

What worked:

  • Stopped asking for a review on launch. Now I ask only after the user completes a key action 3 times and is clearly having a good experience.
  • Added a soft pre-prompt: "Enjoying the app?" -> Yes -> then I trigger the native Apple rating prompt. If No -> I send them to feedback form.
  • Replying to every single review in App Store Connect. It really helps. People update 3-star to 5-star after that.

What didn't work:

  • Generic pop-up on first session. 0% conversion and annoying.
  • Asking friends for 5 stars.

I'm now focused on getting to 100. If you have a minute, I'd love honest feedback on what would make you leave a review for an app.

Also curious is there any differences for an app from ASO prospective once it hit 100 ratings?

u/Successful_Stop_3751 — 6 days ago
▲ 11 r/iOSProgramming+2 crossposts

Tien Len - 13: a full SwiftUI card game that outgrew GameKit and ended up on a custom Vapor backend

Hey everyone, I'm the developer. I shipped Tien Len - 13 this week, an iOS version of Tiến Lên (Thirteen), the Vietnamese card game I learned in high school 20 something years ago. Every version on the App Store was ads, coin systems, and casino graphics. Just really ugly stuff. About 4 years ago I started on this, but I finally finished it.

Tech Stack

  • Client: full SwiftUI
  • Server: Vapor 4 (Vapor 5 migration coming), WebSockets for realtime play and SSE for updates
  • Auth: passkeys only, no passwords, no email required
  • No API keys in the binary. The client authenticates to the backend through App Attest, and a jwt from the passkey
  • Feature flags via Grantiva, which is how ranked mode sits built but its currently off while the player base grows

Development Challenge

I originally built multiplayer on GameKit. Free infrastructure, first-party, seemed like the obvious call. It fought me everywhere

  • The authenticateHandler flow hands you view controllers to present, which is clumsy to wire into a pure SwiftUI app cleanly
  • Turn-based matchmaking gave me hard-to-debug timeouts and sync conflicts once real devices on real networks got involved
  • Testing multiplayer meant provisioning sandbox accounts across App Store Connect and Xcode before anything worked, which made iteration painfully slow
  • The core problem: keeping four devices agreed on one table state. GameKit's model is clients exchanging state with each other, so there's no authority anywhere enforcing the rules, and I ended up chasing conflicting snapshots instead of building the game

That last one is what killed it. A card game needs exactly one truth about whose turn it is and what's legal to play. So I replaced GameKit with a custom Vapor backend where the server owns the game. Clients send moves, the server validates them against the rule set and broadcasts new state over WebSockets.

AI Disclosure

Largely self built. Ive been an iOS Engineer for over 13 years, and a Mac engineer before that. The architecture, gameplay, UI, and backend are hand-written. I used AI as a tool in three places: localization, security testing, and verifying game logic edge cases against the rule sets.

The game itself

Offline vs three AI opponents with different play styles, Pass & Play with hand-off screens so nobody peeks at your hand, and online multiplayer with private lobbies, invite codes, and quick match. Southern and Northern rules plus custom house rules for chops, instant wins, and turn timers. Free, with a one-time $4.99 unlock for ranked when it goes live. No ads anywhere.

Up next: an interactive learn mode, emotes, more themes, and something fun you can flick around the table while you wait for your turn.

Happy to go deep on any of it, especially the App Attest setup, the GameKit lessons, or running Swift on the server.

https://apps.apple.com/us/app/tien-len-13/id6758355876

u/unpluggedcord — 4 days ago
▲ 5 r/iOSProgramming+3 crossposts

I made a free iOS app that turns videos into GIFs that fit under any size limit you pick, like Discord's 10 MB cap

Developer here. The problem: you make a GIF, try to send it, and it's too big. Discord's free tier caps uploads at 10 MB, forums and email have their own limits, and most converters make you guess quality settings and re-export until it finally fits.

In this app you type the size you need and the GIF comes out under it on the first try. It figures out the quality settings for you and shows you what it changed. You can also trim, crop, change speed, reverse, or make it loop back and forth.

Free, no ads, no watermark, no account. Your video never leaves your phone.

App Store: https://apps.apple.com/app/id6788406320

iOS 26 or newer. It launched this week, so honest feedback is very welcome.

u/ThatGuy739 — 5 days ago

Looking for feedback on these screenshots

Hey all, title says it all. I think they are starting to look pretty decent after many iterations but want to know how they could be better

u/Available-Ticket5629 — 5 days ago

Apple rejected. Do you think i can salvage this idea?

Hey folk,

I've been working on an app that got completely shutdown by Apple.
The app is not released and i'm not sure if I'll be able to release it ever.

The app is a screen time blocker that cannot be disabled. The idea is quite simple:

  1. You make a commitment "For the next 7 days, i'll use Youtube less than 30m a day"
  2. You pledge some money "If i go over my limit, I'll lose 5$". The app doesn't charge that amount immediately but only if you fail your commitment (through stripe i save the card for the commitment duration)
  3. If you go over your daily limit, i show you a blocker that shows "Continue and lose 5$" or "Close Youtube for today"

Basically, you have somehting to lose if you fail your commitment. But lose no money if you make it. Even deleting the app doesn't work. The app is free and i wanted to make half the commitment go to planting trees.

I posted about it and got quite the traction so i decided to build it. Sadly after 3-4 reviews i got the hard no from apple.

As per their review:

>Guideline 3.2.2 - Business - Other Business Model Issues - Unacceptable

Issue Description
The app includes features that charge users when they do not meet personal targets or goals. Apps with these penalty-based payment features are not appropriate for the App Store.

Next Steps

It would be appropriate to remove any features that charge users a monetary penalty when they do not meet personal targets or goals.

Was hoping to get other's opinions on whether there's anything i can do.

I even considered removing the commitment money and releasing it fully for free (i already built it anyway), but that sort of defeats the purpose - without the commitment, you can always stop it or delete the app. At that point you can just use apple's built in screen time restrictions.

Any ideas? (here's a video of the app if you're interested)

u/TheWalkingFridge — 5 days ago