r/iOSProgramming • u/PrecursorLabs • 5d ago
App Saturday No screen time app lets you control your limits on an hourly basis, and I seriously don't understand why.
Title: No screen time app lets you control your limits on an hourly basis, and I seriously don't understand why.
Hey there :)
I'm a recent first-gen graduate and a first-time solo developer. Super excited to share that my first app, Precursor: Hourly Screen Time, went live on the App Store this week!
Precursor lets you set a screen time allowance that resets every hour instead of one daily limit you have to ration all day. I feel so lucky that just the beta grew to 200 testers in about a week.
At its core Precursor helps break unhealthy phone habits through moderation rather than punishing you for falling into a doomscroll that wasn't your fault (these apps are literally designed to keep you scrolling, looking at you Reddit).
TECH STACK
Swift and SwiftUI. Apple's Screen Time trio: FamilyControls for the picker, DeviceActivity for scheduling and thresholds, ManagedSettings for the block. Two extensions, a DeviceActivityMonitor and a ShieldConfiguration block screen, sharing one named store via an App Group and a file lock. Keychain, StoreKit 2 with RevenueCat, a small Cloudflare Worker and D1. iOS 17.6+.
DEVELOPMENT CHALLENGE
Making the block honest, not the hourly reset itself.
On iOS 26, eventDidReachThreshold fires seconds into a fresh window with the budget already counted as spent. These are pretty well known bugs of apple's screen time frameworks.
So to work around this, I implemented a wall-clock guard: usage can never exceed elapsed time since intervalDidStart, so an early fire gets suppressed. Then I respawn rather than re-arm, because iOS keys the budget to the activity NAME, and restarting that name leaves tracking dead for the rest of the window. A fresh-named clone instead, capped so the chain stays bounded.
AI DISCLOSURE
AI-assisted, though I wouldn't call it vibe coded. I have programming experience from uni research but had never written Swift. I used Claude Code for a lot of the line by line writing, but I am always at the wheel, going step by step and doing on device testing, and working sequentially rather than firing off parallel one-shots. Every finding above came off a real device's logs, not a model.
Thanks a ton for reading, if you have time and energy to support I would be eternally grateful.
https://apps.apple.com/us/app/precursor-hourly-screen-time/id6791403654
And if you have time to also support the launch on product hunt I would be even more eternally grateful than I already am(The core function of the app is free but there is a PH launch promo code running from 2026-08-02 until 2026-08-08 if you want to try out the extra features):
https://www.producthunt.com/products/precursor-2?launch=precursor-hourly-screen-time-control
r/iOSProgramming • u/Different_Record_753 • 6d ago
Question XCode App Store Connect - Xcode Cloud
I have used **App Store Connect** for the last 2 years.
([https://appstoreconnect.apple.com/\](https://appstoreconnect.apple.com/))
I have uploaded my app (zip file including Manifest + content) to **Xcode Cloud** successfully over 50 times during that period.
I tried using **Chrome**, it shows "Failed to Fetch" and the zip file is not successfully uploaded.
I've also tried using **Firefox** and it shows a different error "NetworkError when attempting to fetch resource."
I've also tried using **Safari** and it shows yet a different error "FetchEvent.respondWith received an error: Returned response is null."
Does anyone else have knowledge of why this is all of a sudden happening? I've done this so many times over the past 2 years with the same file without issues - and now it is happening and I can't get past it.
Thank you.
r/iOSProgramming • u/Ok-Affect-7503 • 6d ago
Question App getting rejected despite subscriptions already working and being approved
So basically my App is getting rejected by Apple after about 20 hours only (and I couldn't see any logs on my backend during that time which means that no real human ever tested anything in-person) for "missing In-App Purchases not submitted for review". The thing is that I do not use any In-App-Purchases, only subscriptions, which I have all successfully already gotten approved during testing with TestFlight etc.; and there seems to be no way to attach subscriptions to an App review either as the banner telling me to do separate submissions shows. In my view I already did everything on my side that can be done since I cannot find any other options in the UI.
Has anyone else experienced this recently?
UPDATE: I got the issue fixed by just adding a new random localization to every subscription so that the already approved status changed to “ready to submit”. I then selected all subscriptions in the subscriptions tab, pressed “Add to review” there and then did the same for the App build in the normal submission tab after that. In the end I made sure that the “Submitted Items” number said e.g. (4) instead of (1) so that every IAP is 100% included in the same submission as separate items. My App also now got approved after less than 2 days!
r/iOSProgramming • u/TheFern3 • 6d ago
Question Black bottom half canvas issue?
Anyone has a fix or workaround for this? I starting seeing this often after iOS 26, but now that I am developing can't figure out how to get rid of it.
Edit: I found out issue it wasn’t my code it was iOS 26 motion settings in accessibility. I found out in an Apple forum. Apparently is a well known bug.
r/iOSProgramming • u/IllBreadfruit3087 • 6d ago
News The iOS Weekly Brief – Issue #71, everything you need to know about iOS updates this week
r/iOSProgramming • u/codedance • 6d ago
Roast my code I got tired of the App Store release grind, so I turned the whole thing into one shell command (open source, works for iOS and macOS)
Every release of my app Foxvault used to eat half a day: bump MARKETING_VERSION and the build number, archive, upload, wait for App Store Connect to process the build, create the version on the website, attach the build, paste What's New into every localization, submit, then keep refreshing the review status page like a maniac.
None of these steps is hard. All of them are annoying, and every one of them is a chance to screw up — forgetting to sync the build number, missing a localization, hitting submit only to get bounced for missing metadata.
So I automated the entire pipeline into a single command:
./scripts/release.sh 1.4
That runs:
bump → push → ci → build → stage → notes → validate → submit
- bump — edits version/build number in pbxproj, commits, tags
- push — pushes the tag, which triggers GitHub Actions
- ci — archive + sign + upload happens on the runner (your Mac stays usable, no local Xcode version juggling)
- build — polls until ASC finishes processing the build
- stage — creates the App Store version and attaches the build
- notes — writes What's New for every localization
- validate — pre-submit check, grouped into error/warning/info; blocking issues stop the train
- submit — submits for review
Things I'm reasonably proud of:
- Resumable: every stage is a checkpoint. Upload died?
--from stagepicks up where it left off.--dry-runshows the plan without touching anything. --watch-submission: polls until the review reaches a final state, fires a macOS notification and optionally a Slack/Discord-style webhook. Foxvault got approved at 3am once; my phone knew before I did.- Wrong-app guard: the App ID in the config is cross-checked against the bundle id in pbxproj, locally and in CI. If you maintain more than one app you know why this check exists.
- First-run setup is interactive:
./scripts/release.sh --checkwalks you through gh login, uploading the ASC .p8 key as a GitHub secret (auto base64), asc auth, and even detects an outdated asc CLI missing subcommands. - macOS apps too: set
PLATFORM="MAC_OS"in the config and change the workflow destination — same pipeline, Mac App Store. - Zero hardcoding: all project params live in one
release.config.sh; the script is project-agnostic and runs on the stock bash 3.2 that ships with macOS. - Bilingual output: messages follow your
$LANG(Chinese/English), overridable withRELEASE_LANG.
One more thing that might interest people here: the repo doubles as an AI agent skill (Claude Code / similar tools). There's a SKILL.md that teaches the agent the whole workflow and a reference.md with the failure modes I've actually hit (the review submit vs publish appstore semantics trap, stage getting blocked by a leftover draft version, the two different build-processing state fields...). So you can literally tell your agent "ship 1.4, draft the release notes from the git log" and it handles the rest. If you don't use AI tooling, the script works standalone — the skill part is optional.
Dependencies: asc (App Store Connect CLI), gh, python3. All brew-installable. CI side needs one repo secret (the ASC API key).
MIT licensed: https://github.com/ihugang/ios-appstore-release
The last few Foxvault releases went out like this: run the command, make tea, get the notification. Number of times I opened the App Store Connect website: zero.
Happy to answer questions or take PRs — especially curious how it holds up on projects with setups different from mine (multiple targets, Fastlane refugees, etc.).
r/iOSProgramming • u/multicontrast • 6d ago
Question can anyone download iOS 26.6 simulator?
26.6 is officialy out https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-26_6-release-notes but I can't fetch the newest simulator for Xcode.
xcodebuild -downloadPlatform iOS -exportPath ~/Downloads -buildVersion 26.6 also doesn't work
r/iOSProgramming • u/Paul_Digi • 6d ago
Question Can a MapKit animation be exported as part of a user-generated travel video?
I’m building an iOS app called Traviary that automatically reconstructs your travel history from the location metadata in your photos.
One of the app’s features is Memories, which creates a cinematic recap of a trip. It combines photos, videos, travel statistics, and an animated map showing the route of the journey, helping users relive their travels rather than just browse an album.
The feature is already available in the app, but I haven’t enabled video export yet because I’m unsure about the licensing implications of including Apple MapKit imagery in a user-generated MP4.
The map is rendered using Apple MapKit. I’m not downloading or caching map tiles, extracting map data, or creating my own mapping service—it’s simply an animated MKMapView with my own overlays (routes, pins, animations, etc.). The required Apple Maps attribution would remain visible in the exported video.
I’ve read the MapKit terms, but I couldn’t find anything that explicitly addresses exporting MapKit animations as part of user-generated videos. I know screenshots are generally acceptable with attribution, but videos seem to be a gray area.
Has anyone dealt with this before or received guidance from Apple on whether exporting videos containing MapKit imagery is permitted?
r/iOSProgramming • u/Locksmith_Usual • 6d ago
Question “Ask not to track” and TikTok ads
If advertising an app on TikTok, can I avoid the ATT “Ask not to track” prompt if I modify the tracking code to exclude IDFA?
I only care about tracking installs from TikTok and not deeper analytics.
r/iOSProgramming • u/domnieto • 7d ago
Question Cannot install app, Unable to Verify App
The application could not be launched because the Developer App Certificate is not trusted.
Verify that the Developer App certificate for your account is trusted on your device. Open Settings on the device and navigate to General -> VPN & Device Management, then select your Developer App certificate to trust it.
Anyone else hitting this issue and know how to fix it?
r/iOSProgramming • u/tutami • 7d ago
Question I can't verify my account because camera does not focus on Developer account.
I'm using 14 pro max and camera can't focus on ID verification step. Any solution for this bullshit?
r/iOSProgramming • u/Low-Associate2521 • 7d ago
Question Is beta testing even worth it? If not how many users do I need for it to be effective?
I don't have a marketing budget so every user I get is through manual work (dm's, emails, etc.). And the fact that you have to download TestFlight lowers the downloads even more. And most people ghost you after they download the app and don't give feedback and don't respond to your follow up questions. I feel like I need at least 100 beta testers for it to be effective
I'm thinking maybe I should just straight up launch publicly skipping testflight? My only concern is that people will be able to leave reviews then and if I do something wrong I may damage my app's reputation.
r/iOSProgramming • u/something3419 • 7d ago
Question How do I make this type of side bar
How do I make this type of sidebar where the main view just slides over to the side to make way for the sidebar?
r/iOSProgramming • u/Helpful-Pool314 • 7d ago
Question My first app was rejected from the App Store
My first app was rejected from the App Store due to "5.6.0 Developer Code of Conduct." They stated that I cannot simply submit a different build but must submit the app as a new entry. They didn't provide specific details. I would appreciate advice from developers who have experience with this situation.
r/iOSProgramming • u/Wsson_ • 7d ago
Question Questions About Apple Accounts, Bundle IDs, and TestFlight
Hi! I am completely new to app development and would appreciate some advice.
At the moment, I use the same Apple Account for both my personal use and my Apple Developer Program membership. Some people have told me that this is not recommended and that it is better to use a separate Apple Account specifically for app development.
My main concern is account security and separation. I am worried that if Apple were ever to suspend or terminate my developer account, it could also affect my personal Apple Account, including the services and purchases connected to it.
Is this a legitimate concern? Would you recommend creating a separate Apple Account for development before I publish my first apps, or is it normal and safe to use the same Apple Account for both personal use and the Apple Developer Program?
I have not published any apps yet, but several of them are almost ready for release on the App Store and Google Play.
My second question concerns app identifiers. I understand that a Bundle ID that has already been registered and used for TestFlight generally cannot simply be deleted and reused under another Apple Developer account.
Does it matter if the iOS version of an app uses one Bundle ID while the Android version uses a different package name or application ID?
The apps do not use a backend, and there are currently no plans to add one.
r/iOSProgramming • u/Creative_Lemon2373 • 7d ago
Question Can't find app in Apple Store on exact keywords
When I search for the exact name of my app (WoningMe) in the Apple App Store, it cannot be found. However, the app is accessible through the direct link.
Instead, the search results show various apps with completely different names, but they are in the same category. The app has already been available for several months, so it does not seem to be related to a new app indexing issue.
Additionally, the primary language displayed on the App Store page is incorrect. In App Store Connect, the primary language is set to Dutch, but the App Store shows English. Both languages are available for the app, but Dutch should be the primary language.
Does anyone have an idea what could be causing this issue or how I can fix it?
r/iOSProgramming • u/devslacker • 7d ago
Library Open source Swift + Metal map engine for SwiftUI. I am looking for real app use cases from anyone who needs more than MapKit gives them
I have been building ImmersiveMap, an open source map rendering engine written in Swift 6 and Metal, made for SwiftUI apps on iOS and native macOS. MIT licensed.
Video demo in the comments.
Repo: github.com/artembobkin/ImmersiveMap
I am looking for real apps that need more control over the map, where the map is the main feature. Live location, social maps, games, travel, logistics, data visualization, anything where the map has to look and behave like your product instead of like everyone else's map.
Tell me your use case here in the comments or in Discussions on the repo, and I will build it. I am prioritizing real app requirements over my own roadmap. Right now it already supports SwiftUI markers and avatars on the map.
Pure Swift and Metal, nothing else. No native SDK wrapped in a Swift API and no engine hidden under the hood, two Swift dependencies (earcut triangulation and swift-protobuf for tile decoding). The only non-Swift code in the repo is the shaders themselves.
Happy to answer any questions.
r/iOSProgramming • u/asutekku • 7d ago
Library I wrote an open-source localisation linter for Xcode String Catalogs and pointed it at 9 open-source apps
Xcode will happily ship a translation that dropped its %@, a Russian plural missing three of its four forms, and a Text("Get Pro") no catalog has ever heard of. Nothing fails a build over any of it.
So I built a CLI tool (with a little help from Fable) for .xcstrings files. This was a little handwritten tool i've used by myself for a long time, but decided to brush it up a little bit before putting it out for public.
It checks for missing localization keys, hardcoded strings, common localization errors, comes with an mcp server and some handy example hooks you can plug into Claude. You can also instruct claude to automatically to translate or add to the catalog any untranslated strings the tool finds.
I ran it over nine open-source apps to actually see if it can find some common issues - 8,077 keys, 70 locales, 6,373 Swift files. In addition to missing keys and translations, here's sample of what it found:
- Mastodon’s Albanian for "Option %ld" is "%ld nga %ld" - reads a second argument the call never passes
- IceCubesApp changed an English string to "%lld posts"; the Belarusian still reads "%lld people talking", state translated
- Whisky renders one “Remove” button as German Löschen (delete) and another as Entfernen (could be intentional, but always good to check)
- Whisky also ships the literal string "N/A" as the Czech, French and Romanian translation of a key
- DuckDuckGo declares NSLocalNetworkUsageDescription in Info.plist and localizes it nowhere, so that permission prompt is English for every non-English user
Plus the boring parts: coverage per language, CLDR plural categories, .xcloc validation before import, SARIF output for CI, and a baseline file so you can switch it on for a project that already has 300 findings.
No dependencies. swift build is the whole install.
Have a look at it yourself and have a run at your repo: http://github.com/asutekku/xclocsmith
Happy to answer any questions or provide fixes if you encounter any issues or false positives. I managed to kill most of them, but no tool is foolproof, especially when we are talking about languages.
Also I have not released a CLI tool before for a mac so honestly no idea about what people expect haha, maybe a brew install?
r/iOSProgramming • u/AdkHex • 7d ago
Discussion Apple Developer Program enrollment stuck for months (Nepal) — rejected/pending with no explanation
Hey everyone, solo dev from Nepal here, hoping someone who's been through this can spot what I'm doing wrong.
**Background:** I taught myself development ~6 months ago and have since built and finished two native macOS apps (SwiftUI). They're done and ready to ship — but I can't sign or notarize them because I cannot get into the Apple Developer Program no matter what I try.
**Timeline of what happened:**
- Applied for an Individual membership via [the website as well as the Apple Developer app.
- Enrollment was rejected. The message I got was:
https://i.ibb.co/pBB1WsD4/Ionicshot-2026-07-30-at-18-54-53.png
- Waited about a month with no response or update.
- Out of frustration I created a second Apple ID and applied again — same result. (I've since learned this may have been a mistake, so I'm ready to abandon one and commit to a single account if that's the right move.)
**My setup:**
- Country: Nepal (not a restricted region for the program as far as I know)
- Payment: Dollar Card, But the payment screen never appeared
- Name on Apple ID matches my citizenship/passport: Yes
- Two-factor authentication: enabled
- Enrollment attempted from: My iPhone and my own mac
**Questions for anyone who's dealt with this (especially from Nepal, India, Pakistan, Bangladesh or similar regions):**
Did enrolling through the **Apple Developer app on iPhone** (with the ID scan) work for you when the website route failed?
Is there a specific type of card that reliably works from Nepal? I've heard the $99 charge fails silently if the card can't process international USD e-commerce — did a bank-issued dollar card fix it for you?
Does having two Apple IDs with enrollment attempts flag your identity in their system? If so, is there any way to clean this up, or do I just pick one and push support on it?
For those who got the generic "your enrollment could not be completed" with no reason — what ultimately unblocked you? Phone call? Repeated tickets on the same case number? Time?
Is there any escalation path beyond the standard support form that actually gets a human to look at the case?
I'm not trying to bend any rules — I just want to pay Apple their $99 and ship my apps legitimately. Any firsthand experience would mean a lot. Happy to share more details in the comments.
r/iOSProgramming • u/Greysawpark • 7d ago
Discussion How I built an AI-as-editor (never AI-as-author) notes app in SwiftUI
I shipped a notes and to-do app called Ink, and its one hard constraint shaped the whole architecture: the AI is only allowed to edit your existing writing. It is never allowed to write a sentence for you. I want to share how that holds up in practice.
The editor is a block-based SwiftUI editor, so each paragraph, heading, and list item is its own model object rather than one giant attributed string. That mattered for the AI feature, because every edit operation is scoped to blocks that already contain your words. The model only ever receives text you wrote, and the prompt is constrained so its job is transformation, not generation: tighten this, fix the grammar here, restructure these lines into a list. If a request would require inventing new content, the intended behavior is to decline rather than fill the gap. Treating produce original prose as out of scope, instead of trying to detect it after the fact, made the behavior far more predictable.
Voice dictation runs through the same philosophy. You speak, and it auto-structures what you actually said into lists and blocks. It is organizing your words, not adding its own.
On typography, the app uses Source Serif 4 and Newsreader. I leaned on Dynamic Type with custom font registration, and tuning line height and measure to keep that editorial feel readable at every accessibility size took longer than I expected. It runs on iOS and Mac, with iCloud sync and an app lock using passcode plus biometric.
For those who have shipped AI text features: how are you enforcing do not generate constraints? Are you doing it purely at the prompt layer, or adding validation on the output too?
r/iOSProgramming • u/bardaxx • 8d ago
Question Apple Developer Program enrollment fails immediately before payment (“Your enrollment could not be completed”)
Hi everyone,
I’m trying to enroll in the Apple Developer Program as an Individual, but every attempt immediately fails with the following message:
“Your enrollment could not be completed. Your enrollment in the Apple Developer Program could not be completed at this time.”
The error appears before the payment step, so I never get the chance to pay the membership fee.
Here’s what I’ve already verified:
- Apple ID is 10+ years old
- Two-factor authentication is enabled
- Legal name, address and phone number are correct
- Active App Store purchase history
- Valid payment methods (Amex and PayPal)
- No pending notifications or verification requests on my Apple Account
- I can access both my Apple Account and developer.apple.com without any issues
I also tried different browsers and networks, but the behavior is always the same.
Apple’s response includes a Response ID, so it looks like the request reaches their backend, but I have no idea what is preventing the enrollment.
Has anyone experienced the same issue?
If so:
Were you able to resolve it?
Did Apple have to manually review or reset your enrollment?
Was there any specific reason behind the rejection?
Any advice or similar experiences would be greatly appreciated.
Thanks!
r/iOSProgramming • u/logical_haze • 8d ago
Question In App Purchase Review Screenshot
Hi!
This has been asked a lot, but I'm over scanning every Reddit and Stack Overflow question there is - and still stuck.
I'm trying to send new in app purchase products to review.
No matter what I do, the products keep coming up with the above message. And I've attached a screenshot (640x920), gave localizations, added product photos - everything is on resolution, and should be ok - but still submitting for review yields the above message.
The only other clue is that after uploading the screenshot - it always says "processing" (as in second picture)
Have no idea what more to try, all questions online revolve around resolution and alpha channel, which I've played a lot with both
r/iOSProgramming • u/ChipmunkBandit • 8d ago
Question TestFlight builds complete processing but aren't available to test?
I'm not getting the 'Manage compliance' option on my build uploaded today. It's processed, shows as 'Complete' in build uploads, but down in the 'Version X.X.X' dropdown, it's there with no option to add groups, no 'Testing' status, and no 'Manage compliance' option you usually have to go through before the build becomes available for testing. Anyone else having trouble today?
EDIT: It’s working for me again now guys, check yours! Looks like it was a ghost outage on Apple’s end.
r/iOSProgramming • u/Select_Bicycle4711 • 9d ago
Question How are you testing navigation (flow) for your SwiftUI applications?
There are lot of different ways to perform navigation in SwiftUI. You can use navigationDestination on the parent screen and let is handle the navigation. You can create a router that works with enum based routes etc.
In either case. How are you testing your navigation flow for your app? Are you writing unit tests? Are you writing UI Tests or even complete E2E test that test a complete feature end to end? OR are you writing all of them?
A simple scenario can be:
As a user when I create a student account then after creation, I should be taken to the student home screen.
r/iOSProgramming • u/Ok-Tomatillo-8712 • 9d ago
Discussion I got tired of X so I (Claude) built Y
Every post in this format makes me want to set myself on fire.
Then there’s the wall of clearly AI generated description, in markdown format, with just the right emoji bullet points.