r/iOSProgramming • • 15h ago

Discussion App Store Review is now automatically rejecting brand new apps for guideline 2.1 - Information Needed - New App Submission

82 Upvotes

I've been developing apps ever since the App Store was created. In my career I have published around 100 apps, both for customers and myself / my own companies.

It has occurred to me that brand new apps, on their first submission, now get rejected immediately under guideline 2.1 - Information Needed - New App Submission. This happened on multiple apps on multiple developer accounts, even on my own account that is over a decade old and never gets any rejections.

Add all of the following information to the Notes field of the App Review Information section in App Store Connect and resubmit your app for Review:

A screen recording captured on a physical device, running the latest operating system, demonstrating the app's functionality. The recording must begin with launching the app and show the typical user flow. If the app has any of the following, include them in the recording:

- Account registration, login, and account deletion flows. Account deletion is required in apps that support account creation.
- Any user-generated content, including the required content reporting and blocking mechanisms.
- Accessing paid content or features within the app.

2. A description of the app's purpose and target audience, including the problem it solves and the value it provides
3. Instructions for setting up and accessing the app's main features, including any required login credentials or sample files
4. A list of the external services, tools, or platforms the app uses to deliver its core functionality (for example, data providers, authentication services, payment processors, or AI services)
5. Describe any regional differences in the app’s features or content, or confirm that the app functions consistently across all regions
6. If the app operates in a highly regulated industry or includes protected third-party material, provide any relevant documentation or credentials to demonstrate you are authorized to provide these services or protected material

So if you want to skip this step, make sure you put the above in your app immediately at the first submission.

I personally think Apple should put this list as a feature in App Store Connect, where you tick all the boxed and add all of this information in an easy way. But I am guessing Apple is experimenting with this to fine tune the process.

This note:

Note: Before submitting, run the submitted build through your own testing and quality assurance process on supported physical devices. App Review is intended for apps and metadata that are complete and ready for App Store customers.

Of course it is expected that your app is complete and ready, but apparently so many people are submitting trash that they have to add it.


r/iOSProgramming • • 2h ago

Question Users tell me they rated my app, but the ratings never show up on the App Store. Anyone seen this?

Post image
3 Upvotes

I’m a solo developer with a habit tracker on the App Store. Over the last week, 5 people told me directly that they left a rating or a review. Almost none of them ever appeared, not on the store page and not in App Store Connect.

What I’ve checked so far:

  • I waited more than 48 hours, so it isn’t the normal delay.

  • I looked at App Store Connect under Ratings and Reviews with “All countries” selected, not only my own storefront.

  • The users are in different countries, so I know each rating only counts in that user’s own store.

  • I did not reset the ratings with the last update.

My questions:

  1. Does Apple silently filter ratings from new or low-activity accounts? If so, is there any way to see how many were filtered?

  2. Has anyone had ratings appear days or weeks later in one batch?

  3. Is it worth contacting App Store Connect support about this, and did they give you a real answer?

It’s hard as a small app: every rating matters when you only have a handful. Thanks for any experience you can share.


r/iOSProgramming • • 6h ago

Question In-App Purchase or Stripe for a small iOS app in the EU? Where is the catch?

5 Upvotes

I am developing a small iOS app and want to add paid features. [Ergänzt]

I thought with In-App Purchases the developer always has to pay 30% to Apple. Now I read that in the EU since October it is 26%, or 15% in the Small Business Program, and with Stripe in the app 20% or 10%. Is that right?

I tend to Stripe, but I am not sure if this could have an effect on ASO.

Does anyone have experience with that?


r/iOSProgramming • • 20h ago

Question How do you approach testing StoreKit purchases and Restore Purchases before releasing an iOS app?

7 Upvotes

Title: How do you approach testing StoreKit purchases and Restore Purchases before releasing an iOS app?

I’m curious how other iOS developers structure their testing for in-app purchases and subscriptions before release.

The initial purchase flow is fairly straightforward to think about, but there are several other scenarios worth checking:

First purchase using a Sandbox account
Restore Purchases on the same device
Restoring after reinstalling the app

Repeated restore attempts without granting duplicate entitlements

Handling interrupted or failed transactions

Checking whether the app correctly reflects the user’s entitlement state

I’m particularly interested in how developers test these scenarios on physical iPhones rather than relying entirely on the simulator.

Do you normally handle all of this yourself, use a small internal QA team, or bring in external testers?
And are there any StoreKit edge cases you’ve encountered that weren’t obvious during initial development?


r/iOSProgramming • • 1d ago

Solved! A terminal dashboard for simulators, device logs and the apps installed on them

Post image
27 Upvotes

I built lazymobile (open source, my project) to stop juggling simctl commands.

It lists simulators and connected iPhones, streams the system log or a single app's log with filter and level, and shows the apps installed on a simulator so you can pick one instead of typing its bundle id. It remembers the last log you had open.

Install: brew install 0xrnp/tap/lazymobile

https://github.com/0xrnp/lazymobile

Physical iPhones give recent app ids only, not the installed list. Feedback on that is welcome.


r/iOSProgramming • • 20h ago

Question App store taking forever, only took 3 hrs first review

3 Upvotes

I submitted an app for review that got rejected in 3 hrs asking for a video and notes. I cancelled the submission and made a new one because i found a bug and updated pictures...

I submitted it 11/6 and it is still waiting for review.

Should i not have submitted the new one with all the notes and videos or something else going on?


r/iOSProgramming • • 9h ago

Discussion Waited on Apple over 5 months, App is finally live, competitor is way ahead, but I built my own Rust UI framework while waiting

0 Upvotes

I wanted to make this post a massive rant about Apple, but there is no point in beating around the dead horse. Instead just want to talk about the App and how it all transpired.

Around April 2026, I started working on a new app that is as far as I know pretty identical to the Moshi app, a herdr/tmux client, mine focused on zellij/herdr . I wasn't aware of this until after I had told a few friends, they really liked the idea and a few weeks later they tried to search for my app and came across Moshi instead.

Anyway, I was pretty much ready to publish the app around June, however (mainly my fault), I had dissolved my company and had created a new one, So i first needed to update all my company info on my 8 year old Apple developer account. After submitting all documents and info, I was expecting to wait a few weeks, then another few weeks for App review, expecting 4 - 6 weeks till app was live, well that was overestimating Apple by a huge margin, they took 4 months to update my company info, and another 39 days for app review.

Finally my app Muxr is live on both app stores https://muxr.app/ and while I was waiting for Apple I also rewrote it from scratch using Rust , using a framework I had also re-written (based on Flutter), from scratch https://frust.dev/ lol

Muxr is also on GitHub https://github.com/f0x-it-llc/muxr-app

App review time was absolutely ridiculous, 2 week to wait for the first rejection (Business agreement had not been accepted for the new company), another 2 weeks for the second rejection (I had done some bug fixes resubmitted the build but forgot to bundle the IAP item with it, this part is confusing TBH), then on the third re-submission I requested an expedited review, well "expedited" in Apple terms means a week. What's the longest you've waited for Apple review?


r/iOSProgramming • • 1d ago

App Saturday Tailspell: Word Chain

Thumbnail
gallery
0 Upvotes

Hi, I'm a solo developer and I just released my first game: Tailspell.

It's a word chain game: every word has to start with the last letter of the previous word. The idea is inherited from a fun website I created as a project when I was learning web development in high school.

What's in it

- Six languages: English, Turkish, Italian, German, French and Spanish, plus a Mix mode that combines them

- Relaxed and Timed modes

- Two daily challenges and a daily reward wheel

- Pass & Play for 2 to 4 players on one phone

- Animated worlds and a mascot that celebrates with you

- Works offline

Price: Free with ads, with an optional one-time Premium purchase that removes the ads and unlocks many worlds and mascots.

Tech Stack: Swift and SwiftUI (iOS 17+), StoreKit 2 for the Premium purchase and coin packs, Google Mobile Ads SDK (Swift Package Manager) for the ads, and XcodeGen for the project file. Dictionaries are custom binary files, and the sound effects and music loops are generated with Python scripts.

Development Challenge: Turkish has dotted and dotless i, German has ss, and French, Spanish and Italian use accents. A keyboard with every accented letter would be crowded and slow to type on. I fold accents so that, for example, e and é count as the same letter, which keeps the keyboard small and the layout familiar. Turkish needed special care, because i and ı are different letters there, and the next word has to start with the right one. I lowercased the Turkish keyboard letters so that i and ı are distinguishable.

AI Disclosure: AI-assisted. I designed the game and made the decisions, and I used an AI coding assistant (Claude Code) to help write and review code.

I would really like any honest feedback & suggestion.


r/iOSProgramming • • 1d ago

Question Siri AI, any luck?

Post image
2 Upvotes

Have you guys had any luck working with the new Siri AI?...

I've got a navigation app that I've added for testing purposes, and it's unbearably bad...

Basic commands lik

- "What's my ETA?" or "Navigate to X" are misinterpreted 6 out of 10 times, and it comes up with random stuff from Google...

One of my app names is Michael, so if you ask "What's my ETA in Michael?", it goes off and searches for random cities around the world named Michael...

Yesterday, I added some road closure data from my traffic feed that Siri can read. If you ask what road closures are ahead, it'll come up with random events instead from Google... it's just bad

I was leaning towards Siri because it integrates so well into the ecosystem, especially CarPlay, and having users not touch the screen is a big plus from a safety point of view. But I just can't ship this into production...

Sounds like an LLM model that's been super nerfed

Is the Privacy the main thing that holds Apple up? Can't be that bad if they let it go


r/iOSProgramming • • 1d ago

App Saturday I built a native iOS app to manage Github issues

Thumbnail apps.apple.com
0 Upvotes

Hey, I'm David. I'm a 9to5 iOS senior staff but I'm trying to build my dream of being an indie developer as many other peers around.

I don't have strong marketing or money so my main driver for building is doing things I or my family want to use. One of those ideas is Todoke, an iOS app to manage Github issues because I use github issues as my backend for issues across my apps.

I tried to make it as private as possible so it doesn't require access to your code, just issues. App is free for one repo so it should cover most usecases and in case you want more repos there's a single one time payment, no subscriptions.

Some key development areas, or at least interesting for me:

- I don't store any token server side. 2 reasons: privacy and responsibility. I don't want to risk exposing any users data and as I user I won't trust anything connecting to my github and storing any tokens, specially if it's an indie app. This was challenging but login is PKCE with a stateless cloudflare worker

- App is fully SwiftUI + TCA (why TCA? overkill in this case but I just like it and have fun building with it)

App is quite new, no many users and no reviews so any feedback is welcome, specially on the sign-in flow and what do you miss in terms of features.

Appstore link

PD: Sorry if if I have any typos, I hate AI posts and english is not my first language but I wanted to do this with my bare hands.


r/iOSProgramming • • 1d ago

App Saturday Ex-Apple engineer, now indie dev: I built a native Mac app to make sense of App Store Connect

Thumbnail
gallery
0 Upvotes

Hi r/iosprogramming! I’m John. I spent 10 years as an engineer at Apple working on macOS and iOS, and I’ve been indie for the last 8, shipping 20+ apps for myself and clients. I just launched AppTraction, the tool I wish I’d had when I started building my own apps.

The problem

Most iOS and Mac devs that I talk to agree that Apple’s App Store Connect website is slow, confusing, and buggy. There’s a lot of useful data there, but Apple’s clunky site makes it hard to make sense of. AppTraction is a native Mac app (AppKit and Swift, no web wrapper, no Electron) that brings your sales, analytics, ratings, and reviews to your Mac, and then tells you what matters.

What AppTraction does

  • Insights: it monitors your apps in the background and flags problems, trends, and milestones. There are 50+ kinds so far. With my own apps, it has caught serious listing problems and features by Apple I didn’t know about, and the AI chat explained a seasonal sales dip I’d been concerned about.

  • Listing fixes: when it spots a problem with your App Store listing, it suggests a fix and, once you approve it, applies it to App Store Connect for you. It can also translate your listing and upload screenshots in bulk.

  • Reviews: read and reply to every review. It can translate them and suggest replies.

  • Reports: writes detailed tailored reports for each app, for every week, month, and year.

  • Chat: ask about any chart, table, or report in plain English. The AI is primed with Apple’s own tech talks on ASO and other sources, so the advice is specific, not generic.

  • Territories: shows a world map revealing how your apps are performing across regions.

The AI runs on your existing Claude or Codex subscription (or OpenRouter), so there are no pricey API fees.

Tech stack

  • Frameworks & languages: Swift, with AppKit for the main window, SwiftUI for most sheets and forms, and Swift Charts for all graphs. A separate launchd agent (registered with SMAppService) does the data collection in the background, so everything stays current even when the app isn’t open. The app talks to it via NSXPC*.

  • Backend/database: no backend for user data. Apple’s analytics are stored locally in plain SQLite, which is a big part of why everything feels instant. A small Cloudflare Worker handles licensing.

  • SDKs & tools: the App Store Connect API, Sparkle for updates, Paddle for payments, TelemetryDeck for anonymous usage stats, and Swift Testing. The AI runs through the Claude Code or Codex CLI, with a bundled read-only MCP server written in Swift.

A development challenge: getting the AI to use its tools

Instead of calling an AI API, which gets costly and has privacy implications, AppTraction runs the Claude Code or Codex command-line tool the user already has, and a bundled MCP server lets the AI query their App Store data with real tools. Early on, the AI kept giving vague answers. The server connected, the tool list loaded, the model called a tool, and the call was quietly refused. With no data to go on, the model fell back on general advice.

It turned out both CLIs deny MCP tool calls by default when run non-interactively, for different reasons:

  • Codex: codex exec forces an approval policy that denies MCP calls, and none of the config overrides I tried changed that. The fix was in the server itself: marking every tool with readOnlyHint: true, which Codex will run without asking.

  • Claude Code: an --allowedTools list denies any MCP tool it doesn’t name. Tools arrive as mcp__<server>__<tool>, so adding the mcp__<server> prefix fixed it.

One more surprise on the Claude side: without --strict-mcp-config, the CLI also loaded the user’s own MCP servers. A test chat about download numbers had my email and calendar connected 😬 That flag (and Codex’s --ignore-user-config) is now always on.

A nice side effect: since Codex only runs tools marked read-only, keeping the MCP server strictly read-only became a design rule. Anything that changes the user’s App Store listing goes through the app’s UI, where they approve it first.

AI disclosure: AI-assisted. For coding I used Opus-class models almost exclusively, under my direction, following my architecture. All user-facing text is written or edited by me. Design is mine, with mockups done in Figma, with occasional help from the Figma AI.

Privacy

I know “AI + analytics + API keys” can raise concerns, so here’s exactly what happens:

  • No AppTraction account. I never ask for your name, email, or password.

  • Your App Store Connect key lives in your Keychain. You don’t need an Admin key: a limited Sales and Reports key covers your analytics.

  • Your App Store data is stored only on your Mac. There’s no AppTraction server holding it.

  • The AI runs on your own Claude or Codex subscription (or OpenRouter). Requests go straight from your Mac to that provider, under your account, and I never see them.

  • Review translation uses Apple’s built-in translator, so translating a review never sends it anywhere.

  • What does reach me: anonymized usage stats (which features get used, never app names, numbers, or chat text), license checks, and update checks.

  • No ads, and I don’t sell data.

Privacy policy: https://apptraction.dev/privacy

Terms: https://apptraction.dev/terms

Pricing

Free for 14 days, then $6.99/month, $39/year, or $99 lifetime. Requires macOS 15 Sequoia or later.

https://apptraction.dev

For r/iOSProgramming**:** 50% off your first payment (including the lifetime) with code RIOSPROG50, good through Dec 1.

I’d love feedback from fellow devs, good or bad. What do you wish App Store Connect told you? And happy to answer questions about how any of it’s built.


r/iOSProgramming • • 1d ago

Question orphaned APPLICATION GROUPS

4 Upvotes

We closed our LLC in California due to the annual costs, which caused us to downgrade our apple developer account from an 'organization' back to a 'personal' account. This was fairly easy - and all of our paying subscriber customers had no problem.

However, several months later I attempted to update our app to use newer APIs, and discovered that Apple did not migrate our APPLICATION GROUPS to the personal account. These are required in our app due to our support of widgets. The absence of our APPLICATION GROUPS means that I can no longer compile my app in Xcode.

One (rather lame) suggestion is that I simply change the name of my application group - but if I understand that approach correctly, it would mean that our customers would loose their iCloud data for our app - ie, all of their accumulated history would vanish. Unacceptable.

I've filed several Feedback Assistant requests (none of which have received a reply in over 6 months), and I've contacted AppStoreConnect several times (but I keep getting the same form-letter requesting screenshots, when was the last time it happened, etc). And despite the fact that I always reply to the requests for more info, no one at Apple appears to read anything I send.

Has anyone else encountered this, and if so, did you find a way to get Apple to respond in a meaningful way?


r/iOSProgramming • • 1d ago

Question How to submit Duo Only Apps

0 Upvotes

How to make an app designed specifically for the Duo capability, not downloadable for the other iPhones?


r/iOSProgramming • • 1d ago

Question Is zorro apps legit?

0 Upvotes

Hi guys, I am just curious about this society because they wrote me about acquiring my app, because they contacted me via mail and I don’t know if I can trust them. Usually I instantly think these kind of email are scam but it is wrote very well and they also have a site. The app is pretty big so it isn’t so strange that someone is interested in acquiring it. Di you know anything about zorro apps? Do you think it is legit?


r/iOSProgramming • • 2d ago

Question Does changing an Admin's role in App Store Connect (or deleting the user) revoke the certificates and keys they created?

4 Upvotes

On our organization team, one Admin created most of our Apple Pay Payment Processing certificates, plus our APNs keys and a Sign in with Apple key. All of them are in production. Replacing the Apple Pay certificates would mean a new CSR from each merchant's payment processor, so we really don't want any of them revoked.

We'd like to change that user's role from Admin to Sales (no Certificates, Identifiers & Profiles access, one app) instead of deleting them. Apple's docs say only the Account Holder or an Admin can revoke distribution certificates and keys. They don't say what happens to the certificates and keys a user created when that user's role changes, or when the user is deleted.

One data point: a Sign in with Apple key created by someone who is no longer on our team is still active. We have nothing either way for certificates.

  1. Has anyone moved an Admin to a lower role (Sales, Developer, Marketing) and then had certificates or keys that person created get revoked?

  2. Has anyone deleted a team member and lost Apple Pay Payment Processing or distribution certificates they created?

  3. Is there a safer option than Sales, or a way to get Apple to confirm this in writing?

Thanks!


r/iOSProgramming • • 2d ago

Library v2 of my open-source package to show release notes in apps

Post image
2 Upvotes

Shared Notelet a couple of months ago. v2 brings support for Duo layouts, redesign refresh and a bunch of internal improvements.

Check it on GitHub


r/iOSProgramming • • 2d ago

Discussion Moved abroad? A 9-year-old "wrong citizenship" bug in App Store Connect will block your Paid Apps Agreement

7 Upvotes

Hey all,

So I'm a solo Apple developer who moved to another country. I updated my address with Apple, App Store Connect asked me to sign new tax forms, and the US W-8BEN form showed up with Citizenship read-only field, showing my residency country instead of my real citizenship.

A known bug, reported since 2017, and the only workaround I found was to sign the false form anyway, signed "under penalties of perjury".

My dev account is practically locked: I can't ship apps with IAP now. Apple Finance hasn't answered for 24 days now, Developer Support replies with templates that don't fit, phone support isn't available.

A 9-year-old bug

If you moved abroad then according to Apple's tax form you're a citizen of wherever you live now. And signing that form means lying to the IRS. Until you sign, the Paid Apps Agreement stays pending forever: no paid apps, no in-app purchases. For comparison: Google Play has the same W-8BEN for the same developer after the same move, and there the citizenship field is open and I submitted a correct form.

Bug first reported in June 2017, then a new thread every month since summer: July, August, September, September again, October. Developers from Brazil, Pakistan, Germany, India, Israel, Slovakia, Armenia, Kazakhstan, Belarus. Not one reply from Apple staff, just "I have similar issue" posts from folks into the void.

A known "workaround"

The one person who got an answer from Apple and shared it (thread 850390) posted what Apple Finance told him in writing: "Submit the US tax form in App Store Connect as it currently stands, wrong citizenship included." Then upload a correct paper W-8BEN through a link Finance sends, and remind them, because "they were clear they won't look for the file otherwise."

So a false tax form, signed under penalty of perjury, comes first, the truth later, in a PDF nobody opens unless reminded.

My own case

The guy who signed the false form got lucky. My Finance ticket, opened October 20, has had only an automatic reply for 24 days, so I can't even follow the bad procedure: the upload link never comes.

The cherry on top: my membership renewal is impossible, the Renew button is missing. Developer Support answered after 12 days that my region was the problem, and I should update my address to my current location. Which sounds like a joke, since Apple support already updated it a month ago. We are going in circles.

A trillion-dollar company, a bug first reported in 2017, and still nobody can unlock one HTML dropdown.

I don't think this is a normal way to treat developers who pay, then comply, comply, and comply again with App Store guidelines, only to find that Apple itself can't provide a working form for us to comply with finance.

UPDATE:

In the form HTML wrong country is set inline, and there's no list of countries to be selected, if read-only is removed. "XXX" is country code:

<select name="taxFormUsaW8Ben.country" disabled>

<option value="XXX">Name of country</option>

</select>

After posting this, I felt I had nothing to loose anyway, I replaced XXX manually with another country code inside HTML, and submitted (think "signed") the form. The signed form now shows the correct citizenship country and I was able to unblock my account financial state. So now it's a proven fact this bug could be EASILY fixed in their silly React front, and no one is doing anything about this for 9 years straight.


r/iOSProgramming • • 2d ago

Question Confused? Which one

Thumbnail
gallery
1 Upvotes

Can someone enlighten me before I push this into production? The CarPlay screenshot in App Store Connect is in landscape orientation, but the Preview feature shows it in portrait orientation.

Now I'm anxious about pushing it into production. Has anybody experienced this or knows the answer? Which one is correct?


r/iOSProgramming • • 2d ago

Question Side menu navigation

3 Upvotes

I am working on a 10+ year old app which has a home page with tab bar and a side menu to go to other pages. The side menu used is a custom view.

I wanted to ask how anyone has transitioned from custom side menus to standard native controls on iOS. I am looking at moving away from the custom menu and go with the controls provided by Apple. The closest I can think of is a navigation split view. Does anyone have experience using it? How is it for an app that supports iOS on regular and Duo and on iPad?


r/iOSProgramming • • 2d ago

Question App ranks dead last for its brand keyword in the US store only, but appears near the top when the same word is in "quotes". Anyone seen this?

0 Upvotes

I’ve got an iOS app with a strange search problem, and I’m hoping someone has run into the same thing.

The situation:

  • My app’s title starts with a one-word brand term.

  • In the US storefront, searching that word puts my app last, behind completely unrelated apps (banking, food ordering) and behind newer apps with zero ratings.

  • In every other English-speaking storefront I checked (UK, Canada, Australia, Ireland, NZ), the same search puts it in the top 3–8. Same title, same description, same everything.

  • In the US, searching the same word in quotation marks puts it 5th.

  • Searching the full app title in the US puts it 1st.

So the app is clearly indexed in the US. Only the plain one-word search, and only in the US, buries it.

What I’ve done:

  • Contacted Apple Developer Support. They said there are no flags on the account and escalated it to engineering, but warned it could take a long time.

  • Checked that the metadata is the same across storefronts.

My questions:

  1. Has anyone had a single storefront bury their app for one specific keyword like this? Did it ever fix itself, and how long did it take?

  2. Has a new version, a keywords change or a subtitle change ever “unstuck” this kind of ranking for you?

  3. Any way to get faster traction with Apple than the standard support escalation?

Any experience is appreciated


r/iOSProgramming • • 3d ago

Question App Store Connect Analytics Missing

7 Upvotes

Hey, is the App Store Connect analytics being particularly slow to update for others? My latest downloads are now 4 days old. Usually used to update around 1pm for the previous day.

My AppStore connect Mac app Flightcheck is getting the data, so it’s there available.


r/iOSProgramming • • 3d ago

Discussion Do you use Xcode Instruments more now that you're building with agents?

12 Upvotes

I started building apps in 2009. It was basically impossible to build a high-quality app without using Xcode Instruments. I was basically grown up with the tool and learned how to use it over time.

When speaking at conferences and meeting iOS devs, I realized that not many devs know the tool. Some are well-experienced engineers with 10+ years of experience. I guess the faster devices simply made it less of a requirement.

Lately, as agents write more of our code, I've run into more performance issues than ever. Agents are great at writing code that compiles, but also great at writing poor-performing code.

I have a few questions for you for this discission:

  • Are you using Xcode Instruments at all?

  • What holds you back from using Xcode Instruments?

  • Have you tried using agents to solve performance issues and was it successful?

Pick any that you'd like to answer. I just hope to get a better understanding of how Instruments is being used.


r/iOSProgramming • • 3d ago

Question iPad Pro M4 GPU drops to its lowest performance state after ~30s and stays there, thermal state still nominal

2 Upvotes

Hi experts!

I’ve been working on a Metal game on iPadOS that targets 60fps. On my iPad Pro M4 (11", iPadOS 27.2) the GPU clock drops hard after about half a minute of play and never recovers.

I recorded it in Instruments (Metal System Trace + Power Profiler instrument) with the iPad plugged into a Mac. In the GPU performance state track, the first ~30 seconds sit at max or medium. After that it’s min for the rest of the session. Same result over 5 and 7 minute recordings. Thermal state stays nominal the whole time, it’s also charging because it is plugged in to Mac, and letting it cool down first didn’t help (it dropped even sooner, at ~29s).

At max clock the GPU needs ~13ms per frame. At min it needs ~19ms for the same scene, so I sit at 51–56fps with the GPU never idle. I’ve trimmed a few percent off the frame already, but it still ends up at min either way.

So I’m guessing this is just the sustained power budget, and the real target is whatever fits at min clock. Did I get it right? A few things I’d like to hear from people who’ve worked on these devices:

  • Has anyone managed to hold the top GPU clock on an M-series iPad for several minutes under a full game load? What made it work?

  • When you budget GPU time per frame on iPad, do you plan for the burst clock or for where it settles after a minute?

  • Has anyone measured whether a 30fps cap or dropping resolution (so the GPU sits idle part of each frame) gets the clock back up? Or does it stay at min regardless?

If you have any, numbers from your own traces would also help a lot (even rough ones) so I get a better sense of what to target.


r/iOSProgramming • • 3d ago

Question Can't submit a build for external TestFlight testing: always "There was an error processing your request. Please try again later." (422)

2 Upvotes

Has anyone else run into this? I've been stuck for several days and haven't heard back from Apple support yet.

The problem

Whenever I add an external group or an individual external tester to a build, App Store Connect shows:

There was an error processing your request. Please try again later.

The API (POST /v1/betaAppReviewSubmissions) returns the same thing:

422 ENTITY_UNPROCESSABLE

"There was an error processing your request." / "Please try again later."

Internal testing works fine, and the build installs through TestFlight without any issue.

Context

  • This is my third app on this developer account. The first two went through external TestFlight review with no problem, using the same process.

  • Free app, iOS 17+, no login, no network calls, no in-app purchases

  • Primary language is English (Canada)

  • The app references alcohol (cocktail recipes), so it's rated 17+

What I've checked (all confirmed through the API)

  • The build is processed (VALID), and its external state is READY_FOR_BETA_SUBMISSION

  • Export compliance is set (ITSAppUsesNonExemptEncryption = NO)

  • Test Information is complete in the primary locale (en-CA) and in en-US: beta description, feedback email, privacy policy URL, marketing URL

  • Beta App Review contact info is complete (phone in +1 format) and the review notes are filled in. No sign-in is required.

  • "What to Test" is filled in for the build

  • The beta license agreement has text

  • The age rating is complete, and the category, content rights and privacy policy URLs are set for every localization

  • The Free Apps agreement is Active

  • No beta review submission is pending, and the older builds are expired

  • I tried several builds, a new external group, individual testers, other browsers, and waiting a day

Since my other apps worked fine, the problem seems to be with this app rather than the account. Has anyone seen this before? If you fixed it, what was the cause, and did Apple support have to unblock it on their side?

Thanks!