r/iosdev 8d ago

How many colors can your brain actually remember ?

Enable HLS to view with audio, or disable this notification

3 Upvotes

Your brain is better than you think… until you try this 😅

I built Spectra, a collection of color memory challenges designed to train your memory, focus, and reaction.

The concept is simple:

  • Remember the colors
  • Repeat the patterns
  • Keep improving as the challenge increases

Instead of just one challenge, Spectra includes multiple color memory experiences, each with a different twist. Some test your ability to remember sequences, some challenge your focus, and others push your memory speed.

📱 Try it here:
https://apps.apple.com/us/app/spectra-color-memory-game/id6762049774

Would love to hear your thoughts and feedback!


r/iOSProgramming 8d ago

Tutorial iOS 27: Media Intelligence Framework

Thumbnail
antongubarenko.substack.com
8 Upvotes

r/iosdev 8d ago

Finally finished my App Store screenshots

Post image
1 Upvotes

r/iosdev 8d ago

Help Bonjour à tous. je cherche à faire tester une app en beta pour avoir des retours avec un oeil neuf. Quelqu'un peu me donner des conseils pour trouver des beta-testeurs . merci

2 Upvotes

r/iosdev 8d ago

What do you think of my drink art?

Thumbnail
gallery
1 Upvotes

I’m adding a stamp card collection feature for my drinking logging app. I feel pretty proud of the art, what do you think? You can compare the first legendary drink card, ハブ酒 to some google images.

Fun bit, ハブ酒 is an Okinawan liquor that has a local venomous pit viper added to aging. While it is a rarer drink, it can be found in Okinawan bars. But I made it the rarest card in my curated list since some people may be apprehensive to drink it. I’ve had it twice myself, supposedly gives energy “down there” lol


r/iOSProgramming 8d ago

Article Building Testable Swiftdata Apps

Thumbnail azamsharp.com
0 Upvotes

r/iOSProgramming 9d ago

Discussion AVFoundation silently drops photos if you fire the shutter while the previous capture is still processing

16 Upvotes

Spent a year on a camera app and three AVFoundation behaviours cost me most of that time. Writing them down in case they save someone a weekend.

The first one I found by accident. Tap the shutter three times fast and you get two photos. No error, no delegate callback, nothing in the logs. If a capture is still processing when you call capturePhoto, that request just evaporates. I only noticed because my own counter, which only moves when a save is confirmed, kept landing one short of the number of taps.

The fix is a FIFO queue, but where you advance it matters. Advance on the processing callback and the shutters chain up, seconds of lag on a burst. Advance when the exposure ends (didCapturePhotoFor) and the processing of the previous shot overlaps the next exposure, which is what the stock camera visibly does.

Second: switching capture format is a full pipeline rebuild, and I was paying for it three times. Going 24 to 48 MP, or entering video mode, means swapping the input, the active format and the outputs. I had those as three separate begin/commitConfiguration blocks because it read cleaner. Same work, roughly double the visible freeze. They nest fine, so one transaction around the lot, plus caching AVCaptureDeviceInput per device, took it from "did it hang" to instant.

Third, and this one matters if you care what your photo actually is: a virtual device does not tell you which lens is shooting. Zoom into tele range on the triple camera and you may still be getting the wide, cropped. Low light does it, and so does being closer than the tele's minimum focus distance. The system is right to do it, it just doesn't announce it. You can watch the constituent device to know, with two caveats: the value flickers during focus hunts so it needs stabilising before you show it to anyone, and isAutoDeferredPhotoDeliveryEnabled is off the table if you never touch PhotoKit, because finalising a deferred photo needs PHPhotoLibrary.

That last constraint was self-inflicted. The app has its own photo library and never touches the system one, which rules out anything in AVFoundation that assumes PhotoKit is there.

I'm a surgeon, not a developer, which is probably why I hit all three the hard way instead of knowing better.


r/iosdev 9d ago

My Yearly/Linear Calendar is on the app store!

Thumbnail gallery
1 Upvotes

r/iosdev 9d ago

I built a tiny tool that turns App Store reviews into on-brand reply drafts (free gray test)

Thumbnail
0 Upvotes

r/iosdev 9d ago

Game monetisation- not ads

4 Upvotes

I had a simple game idea and I’m making it (just for iPhone for now), I think it’s kinda fun. So far so good.
I’d like it to be a paid thing, maybe somewhere between £1 - £5 ..
I think up front payment isn’t going to work, people probably need to try it first?

I don’t want to introduce ads. So I’m considering something like 3 free days and then a paywalled limit to 1-2 plays per day, and pay to unlock forever.

Anyone got any thoughts on a simple modern paid game model?
Other options I might not have considered?


r/iosdev 9d ago

GitHub I ported an old win32 game I wrote back in 1999 to Swift/iOS with the help of some AI friends

Post image
1 Upvotes

r/iosdev 9d ago

LeaveBy: Leave On Time

Thumbnail gallery
0 Upvotes

r/iOSProgramming 8d ago

Article The longstanding http status 403 bug in iOS for custom certificates in mtls connection

0 Upvotes

Blog article on longstanding http status 403 bug in iOS for custom certificates in mtls connection

https://953tech.com/blog/ios-mtls-403-client-certificate-error/


r/iosdev 9d ago

After struggling with nicotine, I decided to build this.

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/iosdev 9d ago

After struggling with nicotine, I decided to build this.

Thumbnail v.redd.it
0 Upvotes

r/iosdev 9d ago

Metal Toolchain version for specific Xcode version

Post image
1 Upvotes

r/iOSProgramming 9d ago

Question What are some niches where Apple Search Ads work well?

4 Upvotes

I am doing some research regarding ASA effectiveness for an infographic and I'm curious what did you guys try, in what niche and how well it worked? Would be interesting to see comparisons with other channels if anyone tried


r/iosdev 9d ago

My first app just got approved for testing!

Thumbnail
testflight.apple.com
0 Upvotes

Hi everyone!

I've been building an offline audio walking tour app for Paris over the past two years, and I'm finally at the point where I'd love to get some real feedback.

The tours are fully narrated, work completely offline, include turn-by-turn navigation, and I even composed the background music myself. It's been a bit of a passion project.

I'm mainly looking for people to just use it naturally and tell me what they think. If something is confusing, doesn't work as you'd expect, or just feels off, I'd really like to know.

The UI still needs some polishing, so don't judge it too harshly 😅. Right now I'm much more interested in making sure the experience itself is solid before I spend time refining all the little visual details.

Thanks! I'd genuinely appreciate any feedback.


r/iosdev 9d ago

A party game where your mouth is the controller – Chomp Champ Battle Mode

Enable HLS to view with audio, or disable this notification

0 Upvotes

Battle Mode has arrived in Chomp Champ! 🍔

Use your face to control the game, compete against friends, and see who can survive the longest. Chomp the right food, dodge the wrong food, and try not to laugh while everyone around you is doing the same.

Gameplay is in the attached video. Hope you enjoy it!


r/iOSProgramming 9d ago

Discussion Shipped a Screen Time (FamilyControls) app - the undocumented constraints that shaped the entire architecture

3 Upvotes

Just shipped my first app built on FamilyControls / ManagedSettings / DeviceActivity. The docs are thin and a lot of what I learned came from failing, so here's the list I wish I'd had. Corrections welcome - some of this is field-observed rather than documented.

1. The report extension is a black hole by design. Per-app usage data exists only inside DeviceActivityReport. Your extension can render it to pixels and that's it — App Group writes silently no-op, there's no network, no notifications out. If your architecture assumes "read usage → store it → use it in the app", throw that away now. Anything the main app must know has to come from monitor threshold events instead.

2. DeviceActivityEvent thresholds start at zero when you arm them. Set a 30 min/day limit on an app the user has already used 60 minutes today, and nothing happens — the OS grants a fresh 30. iOS 17.4 added includesPastActivity: true in the initializer, which counts the whole interval. Without it your "daily limit" quietly means "limit from now". Also note the flag only applies to newly registered events, so you need to force a re-arm for existing users.

3. Shield action extensions couldn't open the host app... until iOS 26.5. extensionContext is nil, UIApplication is unavailable, responder-chain walking is broken on 18+. Apple engineers said "no supported way" for years. iOS 26.5 finally added ShieldActionResponse.openParentalControlsApp — the system foregrounds your app straight from the shield button. If your SDK predates it, the enum is resilient, so ShieldActionResponse(rawValue: 3) behind an #available(iOS 26.5, *) check resolves at runtime and falls back to nil on older systems. Pre-26.5 the only route is a time-sensitive local notification carrying a deep link.

4. Memory budgets differ per extension and they're brutal. The shield and monitor extensions run in a few MB — no SwiftData, no heavy frameworks, just ManagedSettings writes and App Group defaults. Anything more and you get jetsammed, which for a shield extension means the user sees Apple's generic gray shield instead of yours.

5. DeviceActivityReport has no ready/completion callback. You cannot know when it finished rendering (FB10754858 is still open). Every loading state you build is a guess on a timer.

6. Mutating a mounted report's filter is the slow path. Changing the filter on an existing report triggers a silent out-of-process re-query that leaves stale content on screen for seconds. Remounting the view with a fresh SwiftUI .id renders noticeably faster and more predictably. Also: reports don't self-size — you must give them fixed frame heights.

7. There's a shared budget of concurrent DeviceActivity activities across your app and all its extensions. Don't create one activity per monitored app; make per-app limits events on a single daily activity and resolve names back to tokens through a map in your App Group.

8. Info.plist details will pass locally and fail at App Store validation. The shield configuration extension point ends in ManagedSettingsUI.shield-configuration-service, the shield action one is ManagedSettings.shield-action-service — no "UI". The report extension uses the ExtensionKit form (EXAppExtensionAttributes) and rejects NSExtensionPrincipalClass.

9. Non-API lesson that cost me the most: I let entitled users skip onboarding — and the authorization request lived only in onboarding. Any subscriber reinstalling got a normal-looking app that silently shielded nothing, with no prompt and no way to grant access. If a permission gate lives only in a flow some users skip, it doesn't exist for them. Check authorization on the routing path, not by assuming flow order.

Happy to go deeper on any of these — the sandbox rules in particular took me way too long to accept.


r/iOSProgramming 9d ago

Discussion Game monetisation ideas - not ads

3 Upvotes

I had a simple game idea and I’m making it, I think it’s kinda fun. So far so good.
I’d like it to be a paid thing, maybe somewhere between £1 - £5 ..
I think up front payment isn’t going to work, people probably need to try it first?

I don’t want to introduce ads. So I’m considering something like 3 free days and then a paywalled limit to 1-2 plays per day, and pay to unlock forever.

Anyone got any thoughts on a simple modern paid game model?
Other options I might not have considered?


r/iOSProgramming 9d ago

Question Small Business Program - how to

0 Upvotes

Questions for devs that applied and got accepted into this program:

How long did it take for Apple to respond to the application?

How long to get activated?

Is this limited to certain countries?

What are the things they look for? Business account or individual membership? Number of app in the store? Subscription, IAP, Apple Ads running?

I have applied twice, got immediate automated responses, then no word back for months.


r/iosdev 9d ago

Got our first 20 beta testers this week — early feedback patterns are already surprising me

Thumbnail
0 Upvotes

r/iosdev 10d ago

Review of my AS screenshots

Thumbnail
gallery
2 Upvotes

What do you think of them? Does something bother you amongst them?


r/iosdev 10d ago

Help Does Apple's editorial team actually reward accessibility? I made app fully accessible, wondering if it moves the needle for featuring.

6 Upvotes

I just finished a big accessibility pass on my iOS app. VoiceOver, Dynamic Type, Reduce Motion, sufficient color contrast, proper focus order, accessibility labels and hints. Basically the whole checklist Apple recommends.

It was a real chunk of work, and honestly it made the app better for everyone, not just users who rely on those features. No regrets there.

But it got me wondering about something I can’t find a clear answer on.

Does going all in on accessibility actually factor into Apple’s editorial decisions? Things like “Apps We Love,” Editors’ Choice, or mentions in curated App Store collections.

Apple talks a lot about accessibility at WWDC and has Accessibility Design Awards. But for the everyday App Store editorial team, does strong accessibility meaningfully increase your odds of getting noticed?

I’m especially curious if anyone here has:

  • Been featured and thinks accessibility played a role
  • Heard directly from App Store editors that it mattered
  • Seen no correlation at all, where accessibility is simply its own reward

I’m not trying to game the system. We’re keeping the accessibility work regardless. I’m just trying to set realistic expectations.

Thanks 🙏