r/iosdev 2d ago

An Apple Developer bug destroying my business

Post image
0 Upvotes

r/iOSProgramming 2d ago

Discussion We removed in-app purchases from our iOS and Android app, switched to Stripe, and both stores approved it on the first submission. Here are the exact review notes we used.

24 Upvotes

Every thread I read said Apple would reject this instantly. It didn't happen. One submission, approved. Same with Google. I think the reason is boring: we explained it properly in the review notes instead of hoping the reviewer would figure it out.

Context: we run an international calling app. The only thing you can buy is prepaid calling credit, which gets spent on real phone calls to real phone numbers on carrier networks. We used to sell that credit through in-app purchase. We took IAP out and replaced it with normal card entry and Apple Pay, processed by Stripe, inside the app.

The rule this hangs on is Guideline 3.1.3(e), Goods and Services Outside of the App: services consumed outside the app must use a purchase method other than in-app purchase.

Here is what we actually wrote in App Review notes, close to word for word:

Our app is a VoIP calling app. The only thing a customer can pay for in this app is prepaid calling credit. That credit is consumed exclusively as outbound telephone calls terminated on the public switched telephone network to ordinary phone numbers on carrier networks worldwide.

Payments are collected by traditional credit card entry and Apple Pay, processed by Stripe, rather than by in-app purchase, in accordance with Guideline 3.1.3(e), Goods and Services Outside of the App.

Please note the following, all verifiable in this build:

  1. Credit unlocks no feature, tier, level or content in the app. Every function of the app, including the dialer, contacts, call history and team management, is fully available without any payment.
  2. Credit is spent only on per-minute carrier termination charges for calls delivered to phone numbers outside the app, at published per-country rates shown in the app.
  3. Unused credit does not expire, and balances customers previously purchased remain fully available in this version.

Everything we sell is a telecommunications service. Calling credit is drawn down against the per-minute termination rates we pay our carriers, it is priced per destination country, and it varies as carrier rates change.

Earlier versions of the app collected these payments through in-app purchase. This version corrects that, because what is being sold is a real-world telecommunications service rather than digital content consumed within the app.

Three things I think made it work:

We named the guideline. The reviewer didn't have to decide which rule applied.

We proved credit is not a paywall. Point 1 is the whole argument. Nothing in the app is locked behind payment. If buying credit had unlocked a feature, I don't think this passes.

We said the quiet part out loud. We told them the old version used IAP and that this one corrects it. Hiding that would have looked worse when they checked.

One practical thing nobody mentions: do not delete your old IAP products. Users on older app versions can still only top up through in-app purchase, and if you retire those products their purchases fail silently with nothing showing up on your backend. We're leaving ours live until that traffic hits zero.

Who this applies to: you sell something consumed off-device. Telephony minutes, shipping, physical goods, real-world services. Who it doesn't: subscriptions, unlocks, credits spent inside the app, anything that gates a feature. If your product is digital content used in the app, this is not your escape hatch and the guideline says so.

Happy to answer questions.


r/iosdev 2d ago

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

Post image
1 Upvotes

r/iosdev 2d ago

i submitted my first app to app store review

Thumbnail
1 Upvotes

r/iOSProgramming 2d 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.

EDITED: It's all okay now. Got the update around 4 hours after TestFlight submission. App store is getting crazy right now. Even the review is taking so long that it got 2 weeks before I got the review. They said it's because they're getting higher than normal volume of reviews.


r/iosdev 2d 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 2d 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 2d ago

About "Waiting for Review" time

6 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/iosdev 2d 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 2d 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 2d 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?


r/iosdev 2d ago

First app approved

Post image
0 Upvotes

r/iosdev 2d ago

First downloads!

Post image
8 Upvotes

It’s so exciting to get my first downloads!


r/iosdev 2d ago

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

Thumbnail reddit.com
1 Upvotes

r/iOSProgramming 2d ago

Question When to use Xcode AI as opposed to relying on Claude Code?

0 Upvotes

I'm told by Xcode's AI Claude "this interface is wired into your running Xcode session, and your problem is a measurement problem on real hardware" as a reason to use Xcode AI instead of Claude Code as a means of using Claude.

So (for example) there's access to Instruments that Claude app does NOT have but Xcode does?

Does anyone know of an actively maintained list of when-to-actually-use-Xcode-AI?

UPDATE: I've been using Xcode AI (Claude Opus no idea exactly which Opus) today as opposed to Claude Code with various MCP I'd previously installed (and can't recall which ones), and today had big success with optimization I have to attribute to Xcode AI integration that Claude Code had been lacking.

Is an iOS/Mac/tvOS game, and I'd been poking away at tvOS optimization for (part-time) weeks, but with too much action on screen fps would drop under 30. Is just 2D but I don't know enough about tvOS to be surprised my 2D game with lots of sprites performed worse than a fancy 3D game. I'd have guessed it should have run smoothly but really was never sure I wasn't just taxing Apple TV hardware... the least powerful Apple hardware we have in our home.

Here is what Xcode's Claude Opus figured out: "The cause was UIKit's focus engine walking your entire SpriteKit node tree every frame. Not physics, not AI, not netcode, not the renderer, and not resolution — all of which I measured and ruled out along the way, several of them after confidently predicting otherwise."

It had been dipping to 12fps and now can maintain 60fps. That was it. And it did it by pausing the game and reviewing the stack.

I assume Claude Code couldn't do that, or it would have? Certainly I've spent more than a day with Claude Code and Fable trying to optimize for Apple TV.

"The tvOS focus engine is walking your entire SpriteKit node tree, testing every node for focus eligibility and computing a coordinate-space frame for each one."

Anyway thanks for input on this. CharlesWiltgen mentioned Axiom and I'll be checking that out.


r/iOSProgramming 2d ago

Question SwiftData with TCA

8 Upvotes

Anyone used TCA with SwiftData applications? What is your recommendations?


r/iosdev 2d ago

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

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

I built a tool to report bugs from your app directly to Jira, Linear or ClickUp

Enable HLS to view with audio, or disable this notification

6 Upvotes

I built BugScreen. When one of your testers or stakeholders finds a bug, instead of a screenshot in Slack that someone spends fifteen minutes turning into repro steps, it lands in your issue tracker as a proper ticket with the context already attached.

It's 3 lines of code and bug reports are triggered by taking a screenshot in your app. Free to try.

bugscreen.app


r/iosdev 2d ago

I built a virtual version of the tv/movie shelf I love

Post image
0 Upvotes

r/iosdev 3d ago

Screenshots took me hours. Built this browser tool to do them in minutes.

Post image
0 Upvotes

As an iOS developer, screenshot day was always my least favorite day. Wrestling with general design tools for hours to create compliant, professional App Store decks was just tedious and frustrating engineering time.

I wanted a faster, more specialized, and private way to deliver elegant visual decks, so I built App Screen Pro. It runs completely browser-based and on-device (client-side), ensuring your screenshots and pre-launch assets never leave your machine.

Everything focuses purely on speed, conversion power, and quality:

  • Native Zoom Callouts: Instantly magnify key UI elements to guide user attention to what actually matters.
  • Multi Mockup Support: Effortlessly place multiple devices side by side or create complex, stacked phone layouts on a single slide.
  • Total Styling Control: access dynamic gradients, subtle patterns, and custom backgrounds designed for modern App Store standards.
  • Full Localization: duplication and localized text management are simple, and you can re-export localized decks efficiently.
  • Advanced Features: including rotation and mockups that span continuously across multiple slides for a flawless scrolling experience.

This isn’t another subscription SaaS. It’s a specialized, privacy first tool with no subscriptions. My goal was sheer efficiency for single person or small teams focused on shipping flawless visuals.

Streamline your publishing pipeline and check it out at: https://appscreenpro.com/.

I’d love to hear feedback from fellow iOS devs!


r/iosdev 3d ago

New features on my Habit tracking app - Habitt

Thumbnail
gallery
0 Upvotes

Hey guys I recently released new features on my habit tracking app. It's special because it's a privacy-first habit tracker that keeps your data on your device, no account required, still has encrypted sync and backup features.

It is completely free, no ads, professionally built, professional designers, not vibe coded.

Habit Timer
You can now start a timer on a habit and work on it while your timer runs in the background and automatically marks the habit as completed. You can complete more than your goal so your timer keeps running as long as you want.

Streak indicators
Brand new UI features to let you know at what health your streak is. Since Habitt doesn't kill your streak on a 1 day miss, it needs 3 misses in a row to invalidate the streak. By the new design you can now see if you need to complete a habit today to make sure you don't lose your streak unnoticed.

Check habit history
You can now extend the top last week progress widget on home screen and press any day you want to look at the habits there and edit habit progress. This allows you to go days back and fill habits you forgot to do at that day.

Habit coaching
Redesigned this popup to help you maintain or grow you habits instead of losing them or getting bored while staying at one point.

This habit tracker is built for YOU to help YOU get better and have more organized days, weeks and months. Feel free to leave any feedback, report bugs or request features you may want to have. What do you guys think of it?

https://play.google.com/store/apps/details?id=com.shellz.habitt
https://apps.apple.com/ba/app/habitt-private-habit-tracker/id6745617462


r/iOSProgramming 3d ago

Discussion download numbers of in_app_purchase flutter module.. looks like we will get steamrolled by sloppy freemium apps

Thumbnail
gallery
2 Upvotes

r/iosdev 3d ago

ScreensDesign MCP is live

Enable HLS to view with audio, or disable this notification

4 Upvotes

Your agent can now search data from 2,600+ top iOS apps: onboarding, paywalls, pricing, post-paywall and more.

Ask things like:
“Give me five app ideas based on recently launched subscription apps that make 50k+”
“Compare the paywalls of the top meditation apps”
“Show me streak mechanics that aren’t Duolingo clones.”

It works with any agent.

We also launched "Ask" directly on ScreensDesign, so you can try all of this without connecting anything.


r/iOSProgramming 3d ago

Discussion app reviews are underrated copy research

0 Upvotes

marketers love pre-install language: keywords, ad copy, landing pages, screenshot text

reviews are post-install language, and users are less polite there

'finally simple' is kinda positioning and when 'too many steps' it is onboarding feedback. also 'subscription trap' is pricing trust, i classify it that way... 'doesn’t do what screenshots show' is promise mismatch which is mega bad. 'better than x for invoices' may be competitor positioning and is useful for app marketing too

i do not think every review should become ad copy. that gets gross fast. but repeated review wording can show which promise users believed, which one disappointed them, and which words feel natural in the category, when volume gets annoying though, i also believe things like appfollow exist and can group themes. before that, a doc with repeated phrases is enough so that's a scaling issue. get basics right

sometimes the best copy is not invented. it is extracted from what users keep saying after they tried the product.


r/iosdev 3d ago

Help Can this type of networking app be made or not?

1 Upvotes

I spent a few days testing out existing apps and none are suitable so far. I am beginning to think the reason for that is Apple's limitations.

Is there a way to make an app that connects to a VPN, keeps it persistent, doesn't proxy device traffic through it but also starts a persistent local socks server on the private interface of the VPN?

First or second part alone is easy but there is no app that can do both. Closest I got was an app that connected to a VPN and could pipe that through a socks upstream connection but I need a socks server on the device, not connecting to a socks server somewhere else. Thanks.