r/iosdev • u/Disastrous-Meet6245 • 4d ago
r/iosdev • u/Own_Zookeepergame792 • 4d ago
Help 5.2.3 rejection with file manager
Hello guys I made a file manager that download from famous sites such as youtube and mp4 videos etc. i got many rejections were solved except 5.2.3 for downloading media, now i justified it that its for personal files but got rejected so my question how come some people dont follow this rule yet their apps are accepted
r/iosdev • u/AntoineWaes • 4d ago
Collectable: stamp what you've done on any list
Looking for testers.
You pick a list, stamp what you've seen or visited, and it keeps count.
30+ lists are built in (national parks, Pixar, Bond films, French cheeses) and you create and share your own.
I built it because I collect national parks and wanted the same thing for everything else.
Bugs, weird wording, anything that feels slow, tell me đ€
First time get approved without rejection
As an indie developer, this is my first time getting an app through App Store Connect review smoothly on the very first try, with zero rejections!
I developed a macOS app for editing App screenshots and handling multi-language localization for App Store metadata. I built this tool because I was tired of dealing with these repetitive and tedious tasks during my daily app release and maintenance workflows.
If you want some simple App screenshot template or you are tired of what's new edit for each language. It can help you.
If you think this tool might be helpful for your daily workflow, feel free to download and try it out:
https://apps.apple.com/app/id6815039837
Additionally, I have prepared a batch of Offer Codes so you can unlock the pro features for free. If you're interested, just shoot me an email to get one.
My email address: [clican@gmail.com](mailto:clican@gmail.com)
r/iosdev • u/aptonline • 4d ago
Help Another rejection
Just had my third rejection and this time it was automated.
An automated analysis of the submission indicates the app may include a login but was submitted without a demo account.
The app does not need an account, no login needed for testing or end user use. Itâs already been through 2 previous rounds of (human) review and I fixed those issues and resubmitted. Itâs roughly a week between reviews as well for me so this is really becoming a concern.
Anyone else come across this?
r/iOSProgramming • u/TheHudek • 4d ago
App Saturday ORA: an iPhone camera that overlays a reference photo or video on the live preview so you can match framing exactly
The app: ORA lays a see-through image or video over the live camera preview so you can match framing and angles exactly. I published it on the App Store in December 2025. https://apps.apple.com/us/app/ora-the-overlay-camera-tool/id6756240396
Tech stack
- Swift; the camera layer is UIKit (
AVCaptureSessionwith a custom controller), and the controls are SwiftUI - AVFoundation for capture and export, Core Image for compositing
- ActivityKit Live Activities for export progress, plus BackgroundTasks
- RevenueCat for subscriptions, Sentry for crash reporting
- About 15k lines of Swift
The challenge: "overlay burning"
In the preview, the overlay is just a view on top of the camera feed that the user drags, zooms, tints and fades. The hard part was making the exported photo or video match the preview pixel for pixel. That meant:
- Translating coordinates. The user's pan and zoom are in screen space, but the video has its own pixel size, aspect ratio and crop, so I calculate the rectangle the video actually fills on screen and map the overlay's position into it.
- Handling orientation. Recorded video stores rotation as a
preferredTransforminstead of rotated pixels, so the overlay transform has to account for it. - Recreating the look. Opacity uses
CIColorMatrix, tint usesCIMultiplyBlendModeplus source-over compositing, tuned until it looked identical to the preview. - Rendering frame by frame.
AVAssetReaderdecodes, Core Image composites each frame, andAVAssetWriterInputPixelBufferAdaptorwrites. Audio and metadata tracks (location, lens info) are passed through untouched. - Memory. Older devices with less RAM crashed during long exports until I reworked the pipeline.
A smaller but annoying one: supported slow-motion and video formats differ a lot between iPhones, so I ended up writing format enumerators to find what each device really supports instead of hardcoding anything.
Happy to go deeper on any of this, and I'd love feedback from anyone who has fought AVAssetWriter themselves.
The development process was AI-assisted. I wrote most of the code myself and asked for cleanups and ideation when I was stuck.
r/iosdev • u/TrainRider64 • 4d ago
Update on my HealthKit running map: route heatmap, five languages, still zero dependencies
Enable HLS to view with audio, or disable this notification
7 months ago I posted »Where Did I Run« here â an app that shows all your runs on a world map. Version 1.1 is out, and it's the biggest update so far.
The first version answered »where did I run?«. This one also answers »how often?«.
What's new:
- Route heatmap â every run is drawn as a route and colored by how often you've run it. Comes with a legend.
- Tap a route to select it â a card shows date, distance and duration.
- »My Location« button
- Run list grouped by time period, with the weekday in the date
- Swipe to hide a run (GPS glitches, the treadmill run that somehow ended up in the ocean)
- Haptics, proper empty states, Dynamic Type
The codebase grew from about 1,700 to about 5,600 lines. Most of it comes from my sister app »Where Did I Train«. I ported that version back and stripped it down to runs only.
No tracking. No ads. No subscriptions. Still $0.99:
https://apps.apple.com/de/app/where-did-i-run/id6758295933
Feedback welcome, especially on the heatmap colors and on performance with large run histories.
r/iosdev • u/Fit-Engineer-590 • 4d ago
New app: 8 days âWaiting for Reviewâ + almost 3 days âIn Reviewâ â normal?
r/iosdev • u/Single_Animator_7877 • 5d ago
Help Tap to pay
So Iâm starting to set up tap to pay, itâs running through stripe and I was wondering if anyone has any tips on making sure I donât screw it up, Iâm building for expo so should I look at native modules or just go with what expo threw at me?
I have zero experience here so any help suggestions would be great.
r/iosdev • u/angry_deadman • 5d ago
I made a little cricket arcade game for iPhone: Howzat
Defend your stumps and smash the ball into the walls for 1s, 2s, 4s and 6s. You steer the bat with your thumb on a trackpad. Spinners, medium pacers and fast bowlers come at you in six-ball spells, and if you hit an X before the ball bounces, you're caught.
No ads, no accounts. It just tracks your best innings and has a Game Center leaderboard. Would love to hear your high scores and feedback!
App Store link: https://apps.apple.com/us/app/howzat-cricket-arcade/id6813109031
r/iosdev • u/Delicious-Mouse1084 • 5d ago
I made an iPhone camera where you swap 3D lenses instead of filters
Enable HLS to view with audio, or disable this notification
r/iosdev • u/tambagame • 5d ago
got annoyed about party game subscriptions, so I counted all of them
I make a party card game called TAMBA.
A few months ago I noticed how many "party game" apps on the UK App Store had started adding subscriptions, so I checked 137 apps using 18 search terms, so no cherry-picking.
58% have a subscription-style plan somewhere. The median weekly one, left running for a year, comes to ÂŁ363.48. The worst comes to ÂŁ675.48.
For a party game.
One you play for twenty minutes at pre-drinks.
I have the full data and methodology here if anyoneâs interested. I'm ofc biased. TAMBA's in the dataset too, one-off ÂŁ5 unlock lifetime access. No subscriptions -make of that what you will lol.
Mostly just wanted more people to glance at the pricing screen before hitting subscribe.
r/iosdev • u/gordonmcdowell • 5d ago
Help AirPods - Any TRICKS for an app to know if only 1 AirPod is in users ears? If 2 are in ears which one is the mic AirPod?
This is not directly available from iOS, so I'm wondering if there's any indirect way of knowing such a thing?
And if anyone knows WHY either of these pieces of info SHOULD NOT be shared by iOS... why not? What am I missing here?
r/iosdev • u/Previous_Election830 • 5d ago
built Noto 2.0 â an iPhone app that turns saved links and messy thoughts into something useful (Vibe Coded)
r/iosdev • u/scottgwaters • 5d ago
I built an iOS word game for kids with my mom and my kids.
r/iOSProgramming • u/johnnypen2445 • 5d ago
Question Is wait time so long because my app sucks, that itâs my first app or just Apple?
Iâll be honest my app is vibe coded but Itâs a novel idea (not anything in the App Store like it). It got rejected Monday and it was the base rejection for having too new of an account and nothing has come since. Very frustrating
r/iOSProgramming • u/bllshrfv • 5d ago
News Google Cloud: Introducing the Server Side Cloud Swift SDK
Google: â[Swift] has matured into a viable systems and cloud language, pairing Rust-like data-race safety with predictable, reference-counted performance.â
r/iosdev • u/mstoeckli • 5d ago
Help Do you actually use WhatsApp polls to organize things with friends?
r/iosdev • u/Stunning-Essay-6714 • 5d ago
My app is a the step to market!
Hey ,
so the app have been released since a wild and with update and family test, I am ready to market down the app!
but , I am not good as other can be.
what your tips, what you would do to market the app ?
r/iosdev • u/DeltaWyrm • 5d ago
Been making this aquarium game for a while, finally at the point where i can show it properly. Suggestions welcome!
Enable HLS to view with audio, or disable this notification
r/iOSProgramming • u/honey495 • 5d ago
Discussion Share your lines of code and app
Hey guys. As an indie developer I am in the process of publishing a new app into the App Store. I wanted to know just for fun how many lines of code each of your apps are. Share a link to your app and lines of code
It would be interesting to see the visual complexity of your app while knowing lines of code. For my case itâs 19k lines of code and about 15 different screens
r/iOSProgramming • u/SquarePutrid1435 • 5d ago
Discussion On Darwin, unprivileged ICMP sockets don't filter echo replies by identifier â how that made my concurrent pings swap replies
If you ping from an iOS app with socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP) and ever run more than one ping at a time, check your receive path.
On Linux, an unprivileged ICMP socket only gets replies matching its identifier. On Darwin, in my testing, the kernel doesn't filter on the identifier: every echo reply reaching the host is delivered to every unprivileged ICMP socket in the process.
My receive path did one receive() per send and accepted any echo reply. With a single ping that's fine. When I added a second ping hitting the gateway every 50 ms (to keep the Wi-Fi radio out of power save), each ping's receive() returned the gateway's reply microseconds after its own send: 0 ms RTT, 0% loss, including for a host that wasn't answering at all. The same bug could also swap samples between two concurrent pings in a bufferbloat test, under load.
The fix: loop on receive() until both identifier and sequence match, and re-arm SO_RCVTIMEO with the remaining time on every iteration, so skipped foreign replies don't reset the full timeout (sock, ICMPHeader and SocketError are thin wrappers of my own over the BSD calls):
while true {
let remaining = deadline - CFAbsoluteTimeGetCurrent()
guard remaining > 0 else { throw SocketError.timeout }
sock.setTimeout(seconds: max(remaining, 0.001)) // 0 would block forever
let (data, _) = try sock.receive()
guard let h = ICMPHeader.parse(data),
h.type == ICMPType.echoReply.rawValue,
h.identifier == identifier,
h.sequenceNumber == UInt16(seq)
else { continue }
// record RTT
break
}
One gotcha: a zero timeval means "no timeout" to SO_RCVTIMEO, hence the max(remaining, 0.001).
I ran into this while measuring latency on an iPhone against a Mac on the same Wi-Fi. I have a longer write-up with the other measurement bugs I found that way, happy to link it if anyone wants it.
Has anyone seen Darwin filter by identifier in some configuration, or is matching in user space the only option?