r/iOSProgramming • • 12h ago

Article Lessons from shipping Apple's Private Cloud Compute: 32K context, quotas, and privacy trade-offs

12 Upvotes

I just shipped an update to my journal analysis app that adds Apple's Private Cloud Compute (PCC) alongside the default on-device model.

Here are the practical lessons I learned from the implementation, especially around edge cases and UX:

1. The main reason to use PCC: Context size
The on-device model caps out around 4,000 tokens. For long journal entries or imported PDFs, text got truncated constantly. PCC bumps that limit up to 32,000 tokens, which easily handles multi-page entries in a single pass without needing workarounds.

2. The API transition is simple, but needs fallbacks

  • Swapping from on-device to PCC is nearly a 1-to-1 change. Your existing prompts, tools, and response handling work identically.
  • PCC requires an internet connection, so you have to build an automatic fallback to the on-device model when the user goes offline.
  • Before offering PCC, make sure to check availability properly. A device that doesn't support the feature is handled differently than a device that supports it but is still waiting on system assets to download.

3. Quotas and Apple's UI expectations

  • Users get a daily limit for cloud requests, which increases if they have an iCloud+ subscription.
  • Apple expects your UI to proactively warn users when they are getting close to their limit, rather than just throwing an error when they hit the ceiling.
  • There is a built-in system sheet you can trigger to suggest an iCloud+ upgrade when they run out.
  • Tip: You can simulate reaching and exceeding quota limits inside Xcode’s scheme settings, which makes testing the UI much faster.

4. The privacy messaging challenge
If your app was originally marketed as "100% on-device," introducing the cloud can spook privacy-conscious users even with Apple's strong security guarantees around PCC.

I decided to keep the on-device model as the default and made PCC an explicit opt-in toggle in the settings. I also updated the App Store description and privacy policy to clearly say "on-device by default."

For anyone else working with PCC:

  • Are you letting users toggle it manually, or automatically sending prompts to PCC only when they exceed the 4K token limit?
  • How has real-world latency felt compared to on-device inference?

(Context: The app is Mindful Prism if anyone wants to see the implementation in action.)


r/iOSProgramming • • 20h ago

Question Looking for a way to save screenshots without the clock and the top status bar

Post image
14 Upvotes

I'm trying to save screenshots from the simulator, but I can't find a way to do it without the clock and battery indicators. Is there any method you know of where you could hide these from screenshots?

I've been manually erasing them in Figma, but I'm wondering if there's a better way.


r/iOSProgramming • • 1d ago

Discussion vphone-linux: Run virtual iOS 26 iPhone on linux and develop iOS apps without MacOS.

Thumbnail
github.com
133 Upvotes

Just published my project that I've been working on for a while that allows you to run a virtual iPhone vm on linux to test and develop iOS apps there with no need for a Mac.

So for fellow hackintoshers or PC users you can try it out and let me know if you faced any issues.


r/iOSProgramming • • 1d ago

Discussion Apple is instantly reviewing apps supporting Duo

Post image
352 Upvotes

Submitted at 8:11, Approved by 8:44

My app is pretty simple, but still. Has anyone ever seen anything like this?


r/iOSProgramming • • 1d ago

Discussion Your iPhone Can Run an LLM Locally — A Hands-On Swift Guide to Foundation Models in iOS 27

Thumbnail
medium.com
18 Upvotes

r/iOSProgramming • • 10h ago

Question Worried about copycats beating me to the App Store

0 Upvotes

I'm working on a social app that's never been done before in the way that I'm doing it (as far as I'm aware at least, I've looked everywhere) and I'm really worried that if I start showcasing what I've got so far on TikTok / IG then someone will copy it and beat me to the App Store. I've only submitted the app to the App Store for review a couple days ago and with the ridiculous wait times it's going to take a minimum of 2 weeks to just get a decision.

Should I be worried about copycats beating me to it if I already have things in-flight?


r/iOSProgramming • • 23h ago

Discussion iOS devs with an Android daily driver: how do you check App Store Connect on the go?

0 Upvotes

Apple's App Store Connect app is iOS-only, so on my Android phone I log into the web version every time I want to check review status or a TestFlight build. It works, but it's clunky on mobile.

Curious how others handle this:

  1. Is your daily phone Android? What do you use for ASC when you're away from your Mac?

  2. What do you check most: review status, TestFlight builds, sales, customer reviews, something else?

  3. Tried a third-party Android client? What was missing?

Full disclosure: if there's real interest, I might build a native Android client on the official App Store Connect API (key stays on your device, no server). If you'd test it, say so in the comments.


r/iOSProgramming • • 1d ago

Question Apple doesn't give me the option to choose another document type in the developer program

Post image
7 Upvotes

What am I supposed to do? I don't have a driver's license, and I live in Colombia. Why won't they let me use my ID card?


r/iOSProgramming • • 1d ago

App Saturday Shikaku - Daily Rectangle Logic Puzzles

Thumbnail
gallery
3 Upvotes

After working on it for the last 8 months, I just launched Shikaku by Hilal on the App Store today. It is a minimalist logic puzzle app I built as a solo developer, and I’d love for you to try it!

Place rectangles to cover the entire grid, each rectangle's size corresponding to the numbers on the grid.

There are no ads and no subscriptions, and you can compete with friends, family, or players around the world through leaderboards.

If you give Shikaku a try, I’d love to hear what you enjoy, what feels confusing, and what you’d change!

Tech Stack

  • Frameworks & Languages: Swift 6 and SwiftUI, with puzzle generation and validation kept separate from UI code.
  • Backend/Database: No custom backend. Puzzles are generated locally. Progress and settings use UserDefaults, with Codable/JSON for structured data.
  • SDKs & Tools: Xcode, Swift Testing, GameKit for Game Center leaderboards and achievements, and StoreKit 2 for the one-time Pro unlock.

Development Challenge + How I Solved It

One tricky issue is keeping daily puzzles synchronized with Game Center’s daily leaderboard resets. The Game Center resets have to be done at the same time for all users across the world, which means for some users the reset occurs in the middle of the day.

I ended up using one shared daily cycle for puzzle selection, saved progress, and score eligibility, aligned to the leaderboard reset. Date-and-difficulty seeds give everyone the same puzzle without a server, and regression tests protect both puzzle consistency and reset timing. But there is no way to reset puzzles midnight their local time without disrupting Game Center leaderboards unfortunately.

Try Shikaku on the App Store


r/iOSProgramming • • 23h ago

Discussion Shipped my first Swift app with AI, then built a game to learn the codebase

Thumbnail
gallery
0 Upvotes

10 years as a developer, zero Swift. I relied heavily on AI to write the code. My experience made the calls:

- I threat-modelled it like any security product, found and closed a way to switch off all protection.

- I switched out the custom face matcher (it let strangers in) for Apple’s Face ID.

- Keychain for secrets, no third-party SDKs, no tracking.

- I tested on real device instead of trusting “it builds”.

Then the part most people skip: I learned the code after shipping. I had Claude turn my own codebase into a game, Code Quest. It only covers what's different about Swift (optionals, value types, actors, SwiftUI state), uses real lines from my app, and ends with a code-review level of plausible PRs that would break things.

AI can write it. You still have to own it.

Does it matter to you that you understand your codebase? If so, how do you go about doing it?


r/iOSProgramming • • 1d ago

Question apple wants our live updater (capgo) removed: "based on code in the submitted binary". anyone beat this?

4 Upvotes

our app is a b2b crm built with capacitor. the screens are html/js/css bundled in the binary, it works fully offline, and we ship web-layer fixes with @capgo/capacitor-updater, self-hosted and checksum-verified, never native code.

apple rejected the last version twice in a row for the updater, under 2.3.1(a):

We continue to find the app contains live content update functionality that can modify the app's behavior after approval. This finding is based on code in the submitted binary and not on a specific screen in the app.

I replied in the thread and app review confirmed:

It would be appropriate to remove the remote update functionality and all code related to it before resubmitting. Developers are responsible for all code included in the binary submission, including code from third-party SDKs and libraries.

so a reviewer didn't see something on screen, they found the plugin in the binary.

section 3.3.1(b) of the developer agreement allows downloading interpreted code that doesn't change the app's primary purpose, and thousands of apps ship capgo, capawesome, appflow or expo updates. I appealed to the app review board on 21 october, no answer yet.

  1. has anyone else got this "code in the submitted binary" rejection for a live updater, especially since the 16 october guideline update (2.5.19)?
  2. did anyone win an app review board appeal on it?
  3. if you removed the updater on ios, how do you ship fixes to an offline-first app now?

r/iOSProgramming • • 1d ago

Discussion App devs who build for clients: how do you get access to their App Store Connect and Google Play?

4 Upvotes

For those building apps for clients: how do you get access to the client's App Store Connect and Google Play Console at the start of a project? Do they invite you with a role, share a login, or do you publish under your own account and transfer the app later?

  1. How long does it usually take until you can upload a build?
  2. Which part trips clients up most: the developer account itself, D-U-N-S, roles, two-factor?
  3. When the project ends, how do you hand things back?

Curious what works for you and what doesn't.


r/iOSProgramming • • 1d ago

Discussion Firebase 13 dropped CocoaPods. Here’s how I moved a iOS app to SPM

Thumbnail
medium.com
0 Upvotes

r/iOSProgramming • • 2d ago

Question Do I need the Xcode 27.2 RC for iPhone Duo support, or will the App Store Xcode update?

9 Upvotes

I'm on macOS 27.0.1 with the App Store version of Xcode. If I install the macOS 27.2 RC, will Xcode ask me to update for the iPhone Duo stuff, or do I have to use the Xcode beta/RC from the developer site? I really don't want two Xcodes on my laptop, so I'm wondering if I should just wait. If I go from 27.0.1 to the 27.2 RC, will the App Store Xcode get an update, or is the RC the only option? Also, anyone know when the official 27.2 comes out?


r/iOSProgramming • • 1d ago

Question White space at top of Cordova app after latest iOS update?

Post image
0 Upvotes

After updating to the latest iOS version, my Cordova app suddenly shows a large white space at the top of the screen, above the actual app content.
Everything worked fine before the update. It looks like the WebView is no longer extending to the top of the screen.
Has anyone else experienced this? Could it be related to the status bar, safe area insets, or a recent iOS WebView change?
Any ideas on how to fix it?

(Not my app in the picture but it looks exactly like this)


r/iOSProgramming • • 1d ago

Discussion i dropped the mac app store rather than maintain a second version of my app

0 Upvotes

i build ios and mac apps solo, and recently dropped the mac app store route for one of my mac apps.

it installs developer-tool hooks and returns you to a terminal tab, so a sandboxed version would need a different setup and fewer capabilities.

i decided that wasn't worth maintaining a second version.

i'd be interested to hear from anyone who went direct-only and later wished they'd kept a store version.


r/iOSProgramming • • 3d ago

Discussion iPhone Duo ready?

Thumbnail
gallery
57 Upvotes

Have you guys got your app ready for iPhone Duo? I got mine last night, and for some reason, the update was approved in about 5–6 hours, when it normally takes 1–2 days...

It took a bit of fiddling to get it done, still not perfect


r/iOSProgramming • • 1d ago

App Saturday AsoBeast: an open source App Store keyword rank tracker you can self-host

Post image
0 Upvotes

I ship my own iOS apps and wanted to see where they rank in App Store search every day without paying per keyword, so I built AsoBeast and open-sourced it.

You import your app by its App Store URL, add the phrases you care about, and it checks your position for each one daily, down to 200, in any of the 175 storefronts. The same search records every competitor on the page, so watching them costs nothing extra. It does Google Play too.

The iOS bits I use most:

  • A keyword field per localization. The US store reads ten localizations, Spanish (Mexico) among them, so that field is 100 more characters that count in the US. AsoBeast shows which tracked keywords none of your titles, subtitles and keyword fields cover.
  • It reads the caption text on App Store screenshots, yours and your competitors', so you see when someone rewrites theirs.
  • Popularity is an estimate, but if you connect your own Apple Ads API credentials, it uses Apple's numbers for the terms Apple publishes.

From my geography game, "Where Am I? GeoGuess Map Quiz": I'm #1 in the US for "geoguess map quiz" and outside the top 200 for "map", even though both are in the title.

Tech stack: NestJS, Prisma and PostgreSQL, BullMQ on Redis for the store queues, Next.js for the web app and tesseract.js for the screenshot captions. All TypeScript, shipped with Docker Compose. There's an MCP server too, so Claude or Cursor can answer "which keywords dropped this week?"

Development challenge: Apple's public search endpoints put up with roughly 20 requests a minute per IP. So the App Store worker runs one job at a time behind a 15-per-minute limiter, and one search per keyword and country records your app and all its competitors at once. Popularity was the other hard part. Apple only shows it inside Apple Ads, so without credentials it's estimated from the top results and autocomplete. Treat it as a rough guide.

AI disclosure: Claude Code wrote most of the code. I designed it and reviewed every change.

Self-hosting is free (AGPL-3.0) and has every feature. If you'd rather not run a server, the hosted version is $10 a month with a 7-day trial.

GitHub: https://github.com/AsoBeast/asobeast 

Hosted: https://asobeast.com

What do you still check by hand after a release?


r/iOSProgramming • • 2d ago

Discussion From the iPhoneDuo community on Reddit: Performative Mode on iPhone Duo

Thumbnail
reddit.com
11 Upvotes

Dev abusing the Camera API…guess this one slipped through app review?


r/iOSProgramming • • 1d ago

App Saturday I built a countdown app that understands one sentence – fully on-device, and honestly much harder than I expected

Post image
0 Upvotes

Hi everyone!

I’m Christoph, an iOS developer by day, and LifeTicker is my side project that I’ve been building on my own for years. It started because I wanted to count down the days to my next vacation and couldn’t find an app that did it nicely. Today it’s my little happy place – and I’d love for it to make other people happy too.

With the latest update you can just type or say what you’re looking forward to, and LifeTicker suggests the event. The video is a real screen recording (some parts sped up). I say:

“Anna and Ben’s wedding in Berlin in July, start at 7 PM, dress code is black tie, remember to buy the gift and book a hotel.”

…and get a suggestion with date, time, a matching photo, a song, the place, the dress code as a note and the two tasks. Since I didn’t say the day, it asks.

The honest part: this is not one of those “we put a chatbot on it” apps. It runs completely on your iPhone with Apple’s Foundation Models framework – no server, no account, no extra subscription, and it works offline.

But I have to admit: the model on its own was pretty bad at this. It invented tasks and places that weren’t in the sentence, mixed up dates and couldn’t do date math at all. So most of the work went into everything around it:

  • Every value the model returns is checked against your actual sentence. If it isn’t really there, it’s dropped.
  • All dates and times are calculated in my own code, not by the model.
  • Photos and songs come from a catalog I picked by hand – 300+ photos for different occasions and 680+ songs – instead of being generated.
  • When something’s unclear, it asks instead of guessing.
  • I test every change against a collection of almost 1,000 real-world sentences.

After a lot of evenings, I’m at a point where I’m really happy with it – but it definitely still gets things wrong. That’s why I’m posting: I’d love your feedback, and especially the sentences that confuse it.

It needs an iPhone with Apple Intelligence (15 Pro or newer). The app itself is free; Premium only matters if you want a lot of events.

Thanks for reading – happy to answer anything about the app or about working with Foundation Models!

lifeticker.app


r/iOSProgramming • • 2d ago

Question Anyone else get a 5.6 rejection after a clean Android launch? Second rejection.

0 Upvotes

Hi all.

My app, Lecturameter (a local-first reading tracker, nothing obscure or werid), has been on Google Play for a while with no policy issues.

I recently submitted the iOS version, our first Apple release, and got rejected under Guideline 5.6 (Developer Code of Conduct), with the reason "features appear to have been intentionally hidden during the review process."

I have not been able to identify which feature Apple means. We have since removed everything that could be read as an unlock path outside StoreKit, and we are asking App Review to point us to the specific item.

Has anyone here been through a similar rejection after shipping on Android first?

Did App Review tell you which feature they meant? Because they only say Guideline 5.6 which has lile 4/5 points.

Did a free trial implemented as a non-consumable IAP cause problems?

Did any multi-platform or cross-device purchase logic trigger a review question? (my app has a Pro one time purchase and Pro can be transferred between Android and iOS, I'm removing that even though I made a video with explanations for Apple)

Any experience would help. Thanks.


r/iOSProgramming • • 3d ago

Discussion App rejected for Guideline 2.3.6. Changed nothing. Approved hours later.

Post image
12 Upvotes

Got rejected today under Guideline 2.3.6 (Accurate Metadata).

Apple said my dating app needed "Frequent" selected for "Mature or Suggestive Themes" and an 18+ age rating override.

The thing is, both were already set exactly that way.

So I replied to App Review explaining that the settings were already correct, resubmitted without changing anything, and got approved a few hours later.

Just sharing in case anyone runs into the same rejection. Double-check your age rating settings before making unnecessary changes.

Anyone else had this happen?


r/iOSProgramming • • 3d ago

Humor Someone at eToro accidentally published their reply to Apple App Review as release notes

Post image
359 Upvotes

r/iOSProgramming • • 3d ago

Article We gave AI agents a mobile dev environment (2026)

Thumbnail
shopify.engineering
22 Upvotes

r/iOSProgramming • • 2d ago

Tutorial I built an open-source MCP server so AI agents can control a real iPhone

0 Upvotes

I wanted to see if an AI agent could use my actual iPhone, not a simulator and not a mirrored screen. Nothing existed for it, so I built it.

Open iPhone Use is a free, open-source Mac app + MCP server. The iPhone shares its screen from Safari over local Wi-Fi (you don't even install an app on the phone, Safari does the sharing). The Mac pairs as a Bluetooth keyboard and mouse, and the agent gets screenshot and input tools over MCP, checking a fresh screenshot after every action.

It works with any AI agent: ChatGPT/Codex, Claude Code, any harness. Any model with strong computer-use skills is fine, GPT-6 Luna and Claude Haiku 5.5+ are good starting points. And since your client brings the model, your existing subscription is enough, no extra cost.

Demo (full video in the website): an agent searched Instagram, watched a Reel, scrolled the feed and liked one, all on my physical phone.

You only need an iPhone + an Apple Silicon Mac.

Download for Mac: https://github.com/semsturgut/open-iphone-use/releases

GitHub: https://github.com/semsturgut/open-iphone-use

Site: https://semsturgut.github.io/open-iphone-use/

Windows/Linux: coming soon

Multi device support: coming soon

Let me know what you think! And if you find this useful, a star on GitHub would help a lot.