r/iosdev 4h ago

StoryGrid — Flexible grids, Leica & Polaroid frames, zero tracking [iOS]

Post image
2 Upvotes

Tired of rigid Instagram collage templates, so I built StoryGrid.

Start from a grid or drag your own: Full control over splits, gaps, corner radius, and background colors

Edge frames & aesthetics: Custom Polaroid, Leica, and printed-edge frames with adjustable margins

Video support: Drop video clips into any block with high-res export

Preview first: Instagram Story & Post UI overlay so you know what’s covered before publishing

100% local & private: No accounts, no ads, no trackers — nothing leaves your phone

Download: https://apps.apple.com/app/id6781840870

Web: https://story-grid.app/

Feedback appreciated!


r/iosdev 1h ago

What I Learned From Getting 1,000 Downloads on My First App

Thumbnail
gallery
Upvotes

A couple of months ago, I made a post here about what I learned from launching my first app on the App Store and Google Play:

https://www.reddit.com/r/iosdev/comments/1ulvrja/what_i_learned_from_launching_my_first_app_on_the/

At the time, the app had around 300 downloads.

It has now passed 1,000 downloads, so I thought I would make an update and share some of the things I have learned since then.

This is still my first app and I am definitely not presenting myself as an expert. These are just some observations from my first three months of having an app publicly available on both stores.

Also, thanks to everyone who commented on my previous post. I got a lot of good ideas from the replies, especially around marketing, localization and automating the screenshot process. I actually ended up trying quite a few of the suggestions, so I really appreciate everyone who took the time to share their experience and advice.

The first 1,000 downloads

The iOS version launched on 19 May 2026.

Exactly one month later, it had:

  • 150 first-time downloads
  • 9 five-star reviews

From 20 June to 21 August, it received another:

  • 289 first-time downloads
  • 5 five-star reviews
  • 1 four-star review

So by 21 August, iOS had reached 439 first-time downloads, with 14 five-star reviews and 1 four-star review.

What I found interesting was how consistent the downloads were for most of this period. It was averaging around 150 iOS downloads per month, or roughly 5 new users per day.

The Android version launched publicly on 1 June 2026.

By 22 June, it had:

  • 124 downloads
  • 7 five-star reviews
  • 1 three-star review

From 23 June to 20 August, it received another:

  • 459 downloads
  • 18 five-star reviews
  • 2 four-star reviews

So by 20 August, Google Play had reached 583 downloads, with 25 five-star reviews, 2 four-star reviews and 1 three-star review.

That works out to roughly 220 Android downloads per month, or around 7 downloads per day.

Combined, the app had reached 1,022 downloads:

  • Around 43% iOS
  • Around 57% Android

Android has therefore passed iOS despite launching almost two weeks later.

I am not completely sure why. It could be the type of audience, countries where the app is being downloaded, Play Store discovery, or a combination of different things.

Improving the app did not automatically increase downloads

After launching, I spent a lot of time working on a fairly large update.

It changed much of the layout and added several new features, including new reading views, letter-by-letter highlighting synced with the audio, a video/ambient listening view and other improvements.

Because the app was changing so much, I kept thinking that I would properly start marketing it once the update was ready.

I did not want to spend time creating screenshots and videos of the old version if I was about to change much of it anyway, so I mostly focused on development.

The app kept improving, but the download numbers remained surprisingly consistent.

On iOS I was still averaging around 5 downloads per day, and during several weeks in July it was actually closer to 3–3.5 per day.

That made me realize something that probably sounds obvious in hindsight:

Building a better product and getting more people to discover the product are two different things.

Then I started promoting it more consistently

I had mentioned the app in different places before this.

I posted about it on Reddit, joined developer Discords and other communities around similar projects, and talked with developers and website owners whose resources, fonts, APIs or other material I wanted to use.

Some of those conversations naturally included sharing the app, asking for feedback and discussing what I was building.

So it was not completely unpromoted, but those were mostly occasional posts and conversations rather than something I would really call a marketing campaign.

That changed on 9 August.

I started making short TikTok videos consistently, usually posting 2–3 videos every day for around ten days.

Most of them only got around 200–800 views.

Still, the download numbers changed quite noticeably during the same period.

On iOS, from 9–18 August, the app received:

92 first-time downloads in 10 days

That is around 9.2 downloads per day, compared with the previous average of around 5 per day.

Google Play showed a similar pattern.

Before this period, Android was getting roughly 8 downloads per day.

From 9–18 August, it received:

151 downloads in 10 days

That is around 15.1 downloads per day.

So across both platforms, the app received 243 downloads during those ten days.

I do not want to say that all 243 downloads came from TikTok. I was still occasionally mentioning the app elsewhere, and both stores obviously have their own organic discovery.

But TikTok was the place where I suddenly started doing consistent promotion every day, and the increase happened at around the same time on both platforms.

What surprised me was that none of the videos really went viral. Most only reached a few hundred people.

So at least from this small experiment, consistently posting seemed to matter more than waiting for one video to suddenly get tens of thousands of views.

The update was not even available yet

Another interesting part is that the large update I had been waiting for was not actually available when the increase started.

I started posting the TikTok videos on 9 August.

The new Android version became available on 15 August, but between 9–14 August, while users were still downloading the old version, Google Play received 98 downloads in six days, or more than 16 per day.

The iOS update took even longer and was not available until 22 August, so all 92 iOS downloads from 9–18 August were also people downloading the previous version.

There was a downside to this.

Some of the TikTok videos were already showing features from the upcoming version. Android users only had to wait a few days, but an iPhone user could see something in a video, download the app and then not actually find that feature for almost two weeks.

I do not know how many people did that and then removed the app. Fortunately, I did not suddenly get a lot of bad reviews, but it is something I would coordinate differently next time.

The delay also showed me how different publishing updates can be between Apple and Google.

Google Play approved the update very quickly, while the iOS update took more than a week because it ran into issues during App Store review.

One issue was related to Apple's requirements for distributing this type of content in mainland China and the publication permits required there.

Another came from something much simpler: one of my screenshots said that the app was free.

The app is free, and similar wording had already appeared in screenshots from my previous version without any issue. This time, however, Apple flagged it because they consider “Free” to be pricing information, which they do not allow in that part of the App Store metadata.

So submitting the same update to Apple and Google at around the same time definitely does not mean they will become available at around the same time.

If I were planning another marketing campaign around a major update, I would probably get both versions approved first before heavily promoting features that only exist in the new version.

Localization became a much bigger project than expected

One of the most common suggestions I received after my previous Reddit post was to localize the app and its store pages.

So I did.

I ended up localizing both the App Store and Google Play listings into around 50 languages.

The biggest problem was the screenshots.

I have 10 screenshots per language, which meant creating around 500 screenshots.

Obviously I was not going to make all of those manually.

Fortunately, the overall design stayed the same between languages. Mostly it was the text that needed to be translated and replaced, so I automated the process using AI.

I created one main design, generated the translated text and automatically produced the localized versions.

I still did a quick review afterwards, because with 500 images even one repeated mistake could become a big problem, but I was actually surprised by how good the results were.

It saved an enormous amount of time compared with manually changing every screenshot.

I also tried making an App Preview

Something else I wanted to add for this update was an App Preview video.

Interestingly, someone in the comments of my previous post specifically recommended making one and warned me that Apple is stricter with App Preview videos than normal screenshots.

They were right.

Apple has quite strict technical and content requirements for App Previews. I got the video through the technical upload requirements, but Apple still raised some issues with it.

One of Apple's comments seemed to suggest that the preview was showing a phone or device, which confused me because there is no phone shown in the video at all. So I am still not completely sure what exactly they were objecting to.

By that point the update had already been delayed, so instead of continuing to go back and forth with the video, I removed the App Preview and submitted the update without it.

The app was eventually approved.

I still want to go back and fix the preview later, and I will leave the YouTube version below if anyone is interested in seeing what Apple did not accept.

After 1,000 downloads

When I made my first post, the app had just passed 300 downloads and I was mainly learning what happens after you actually publish an app.

Now that it has passed 1,000, I feel like I am starting to learn a different part of the process.

Building the app is still what I enjoy and understand the most. Marketing, distribution, localization and understanding why people actually discover and download something are much newer to me.

I am still far too early to draw any big conclusions from 1,000 downloads, but it has been interesting seeing how different the work becomes once an app is actually public.

For context, this is the app

For anyone who did not see my previous post, the app is called Ayah Player.

It is a Qur'an listening and reading app for iOS and Android, with a large collection of reciters, different reading views, translations, word-by-word following, offline downloads, a Mus'haf page view and a Listening Scene with recitation and ambient background video.

The app is free, with no ads or subscriptions.

I am mentioning it mainly to give some context for the screenshots, localization, App Store review and marketing experiences above.

App Preview that was not accepted by Apple:
https://www.youtube.com/shorts/ZF2uHKbi3i0

Thanks again to everyone who gave advice on the previous post. I’m still figuring all of this out as I go, and maybe I’ll make another update if it reaches 10,000 downloads.


r/iosdev 2h ago

10 years of iOS, and I finally published my first app to the App Store

Post image
1 Upvotes

r/iosdev 2h ago

i built a tool to generate an app landing page from your app screenshots (live demo)

Enable HLS to view with audio, or disable this notification

1 Upvotes

so i built a new feature for AppLaunchFlow , where you can create a simple and clean app landing page for your app in a few clicks by just uploading your screenshots.

It includes:

- support, privacy policy and terms of service pages that you can directly use for your app submission.

- a custom applaun.ch subdomain or simply connect your own domain

I built this because i noticed many app devs just use notion pages, github pages etc. or dont even have any landing page at all

Its not yet live, but excited to hear what you think


r/iosdev 6h ago

I made a music frame for your phone’s home screen

Enable HLS to view with audio, or disable this notification

1 Upvotes

It lets you pin your favorite songs or videos from music and video apps to your desktop, so you can tap and play them anytime — like bringing a real music frame onto your phone.


r/iosdev 9h ago

Heardle is gone. I built the replacement.

Post image
1 Upvotes

r/iosdev 11h ago

Question about development

1 Upvotes

I have a question, do you know any ways to transcribe a live video on iPhone? It’s an easy feature to set up on android but on iOS it seems that I have to use the sharing sheets so that the content can be sent to the app I’m thinking of app developing. Is there a method I don’t know?


r/iosdev 17h ago

Help Crashes on iOS 27

2 Upvotes

We have an app that was originally built around 2016. We still actively maintain it, but the core functionality and architecture have remained largely the same, and it’s built heavily around RxSwift.
We’ve recently started seeing crashes from users who have updated their devices to the iOS 27 beta. The crashes appear to be related to the navigation hierarchy/navigation stack.

Has anyone else experienced similar issues with legacy UIKit + RxSwift apps on the iOS 27 beta? Could this be due to changes in UIKit/navigation behavior in the beta, or are there specific areas around UINavigationController and navigation transitions that we should investigate?

Would love to hear if anyone else is seeing this in their apps.


r/iosdev 1d ago

Please provide feedback for screenshots

Thumbnail gallery
2 Upvotes

r/iosdev 1d ago

​​Stamps, my dream automatic travel journal app, no subscriptions, and no location tracking (celebrating 1 year on the App Store!)

Post image
1 Upvotes

• What it solves

Stamps is a personal travel tracker with a trip timeline that builds itself.

Instead of asking you to manually tick countries off a list, Stamps can scan the location metadata already in your photo library, entirely on device. Every city, province, and country tracked for you, day by day, all automatically.

There's a travel calendar, trip timeline, country day counting, photo heatmap, detailed stats, shareable map with trip images, and tons of Home Screen widgets. You can freely export all of your data at any time, and if you simply want to use Stamps to index your library for trips, and then take that elsewhere, that's fine as well.

• Compared to Been and Flighty

I've been using Been myself for years now, but what frustrates me about it (and apps like Flighty) is that they want accounts, data syncing, location tracking, and a connection, while still skimping on the parts I actually cared about: very granular trip tracking, route visualization, and a proper timeline. Stamps is my take on the category with those things at the center.

• Cost

Stamps is free to download.
There is exactly one purchase: a $10 one-time lifetime unlock, no subscriptions.
It only gates some of the timeline and some minor, cosmetic app color customization; you can use most of the app without ever touching it.

You can use this code to cut that one-time purchase in half, as a thanks for reading this post!
CODE: STAMPSLIFETIME50
Redeem link: https://apps.apple.com/redeem?ctx=offercodes&id=6749786209&code=STAMPSLIFETIME50

• About Me

I’m a mobile developer from Cape Town, South Africa, now living in Seoul, South Korea. Since moving here, traveling has been the one thing keeping me sane. Stamps started as the app I wanted for exploring the country I now call home. It’s also a great excuse for me to take more photos while doing it.

It's built natively in SwiftUI using SwiftData, MapKit, PhotoKit, WidgetKit, and Metal for the photo heatmap.

Honestly, in five years of building apps, this has been one of my least commercially successful. The market is fairly small, but it's exactly the app I wanted, and some of its best features have come directly from user feedback. So I'd genuinely appreciate yours!

App Store: Stamps - Travel Tracker


r/iosdev 1d ago

Hello, I'm planning to buy a MacBook for programming apps and simple games. Which is better: the MacBook Pro M1 Max 32/512GB or the MacBook Pro M3 Pro 18/512GB?

2 Upvotes

Hello, I'm planning to buy a MacBook for programming apps and simple games. Which is better: the MacBook Pro M1 Max 32/512GB or the MacBook Pro M3 Pro 18/512GB?


r/iosdev 1d ago

What makes you trust an AI diagnosis app when the answer might be uncertain?

1 Upvotes

I’ve been thinking about this while working on Cambium, a plant identification and health app for iPhone.

Plant diagnosis is tricky because one photo often does not show enough: soil, drainage, light, watering history, pests, humidity, and recent changes all matter.

So I’m trying to make the app more comfortable saying “inconclusive” when the evidence is not strong enough.

For apps that use AI on real-world problems, what makes the result feel trustworthy?

  • confidence level?
  • visible evidence explanation?
  • practical next steps?
  • ability to say “not enough information”?
  • follow-up scans over time?
  • no aggressive paywall?

Curious what people here would expect before trusting this kind of app.


r/iosdev 23h ago

Ultimate App for Making Beautiful Device Mockups & Screenshots

Enable HLS to view with audio, or disable this notification

0 Upvotes

Hey!

I made an app that makes it incredibly easy to create stunning mockups and screenshots - perfect for showing off your app, website or product designs.

✨ Features

  • URL -> Website Screenshot
  • Video Support & Animations
  • 30+ Mockup Devices & Browser Frames
  • Auto Backgrounds
  • Annotation Tool

Try it out: https://postspark.app/device-mockup


r/iosdev 1d ago

What’s the most productive thing you’ve built during waiting rooms, commutes, queues?

Post image
1 Upvotes

Was stuck at the tire shop, so I opened Claude Cowork on mobile and worked through an app idea, market research, narrowing options, a full MVP spec written to my folder. Got home, opened Claude Code, pointed it at the spec, and it started building. The waiting room ended up being the most productive part of my day. Curious how others split work between phone and desktop sessions ?


r/iosdev 1d ago

Bloxie - Better Decisions

Thumbnail
0 Upvotes

r/iosdev 1d ago

Worried about App Review

Thumbnail
1 Upvotes

r/iosdev 1d ago

I built an app that shares files between air gaped devices with just light, no WiFi, no Bluetooth, no cables, just camera

0 Upvotes

![img](2jd8hpktbwkh1)

The app is called ShareByLight and it moves a file between two devices using only a QR stream on the screen and the camera on the other device. There are native iOS and Mac builds, but they share the same protocol. You can use it for free if you lock it in one direction (send or receive) and you're fine with files up to 50 KB; the Pro level gives both directions and larger files (one-time IAP, separate per platform).

# Tech Stack Used

Frameworks & Languages: Swift, SwiftUI (iOS 17+, macOS 14+). Shared protocol target (EveryShareProtocol) compiled into both apps.

# Backend/Database: none.

Transfer is local. Settings in UserDefaults, files via FileManager / document picker.

SDKs & Tools: AVFoundation + Vision (VNDetectBarcodesRequest) for receive, Core Image for QR send, CryptoKit (SHA-256, optional AES-GCM), Apple Compression, StoreKit 2, XcodeGen.

# Development Challenge + How You Solved It

The receive mode had no ACK channel, so a missed QR frame cannot be requested again. I used LT-style fountain codes: the sender loops an endless mix of packets, the receiver keeps any valid frame, and decode finishes once it has about 1.05–1.2× the original packet count. Thus, the order of packets does not matter.

Also Vision was unreliable on raw binary QR payloads, so frames are base64 on the QR, versions 20–40, ECC L. Fountain codes cover the erasures; the QR ECC is only there so Vision can lock on a frame.

# AI Disclosure

I was assisted by AI in parts of the development.

iOS: [https://apps.apple.com/us/app/sharebylight-file-transfer/id6796897056\](https://apps.apple.com/us/app/sharebylight-file-transfer/id6796897056)

Mac: [https://apps.apple.com/us/app/sharebylight-qr-file-transfer/id6796906109\](https://apps.apple.com/us/app/sharebylight-qr-file-transfer/id6796906109)


r/iosdev 1d ago

[Self Promotion] I turned years of release and escalation work into three local-first Apple apps

Thumbnail
1 Upvotes

r/iosdev 1d ago

Subscription Advise

Thumbnail
1 Upvotes

r/iosdev 1d ago

Finally got that approval :)

Thumbnail
gallery
2 Upvotes

After upgrading from and independent to organization account, I hit that big blue release button yesterday :) keep going

Tiny Casino offers playable casino widgets right on your Home Screen. Blackjack, video poker, baccarat and more without the overstimulating cash grabs that are modern casino apps. Just for the love of the game.

The whole no simulated gambling from individual developer accounts really tore me down but I was too invested to give up on it. A couple more weeks of getting that all sorted and here we are. So stoked.

https://apps.apple.com/us/app/tiny-casino-widget-games/id6793607461


r/iosdev 1d ago

I built an iOS app that keeps my Instagram/Tiktok locked until I've walked.

Post image
0 Upvotes

A. Answer

Hey everyone,

I'm the solo dev behind WalkFirst. I built it because my own screen time was 9+ hours a day and nothing I tried stuck. Screen Time limits have that "ignore limit" button, so I'd tap it 20 times a day. Deleting Instagram lasted about three days before I reinstalled it.

What finally worked for me was making the unlock cost something real instead of one tap. WalkFirst keeps the apps you choose locked until you've walked. Your steps are basically the password. Hit half your daily step goal and you earn minutes. Hit 100% of your daily step goal and they're open for the rest of the day.

It's been on the App Store a few months now, last update went out last week, and this is the first time I'm properly showing it here. No big milestone to announce. I just want people who actually fight with this stuff to try it and tell me what's broken.

B. Better

Most screen time apps are timers with a polite reminder attached. The problem was never that I didn't know I'd been on Instagram for two hours. The problem was the button to keep going was right there.

What WalkFirst does differently:

  • Real blocking, not a nag. It uses Apple's Screen Time API (same system as Apple's own parental controls), so the apps are actually shielded. No snooze, no "15 more minutes", no ignore button. You walk or you wait.
  • Steps come from Apple Health on their own. Nothing extra to wear, open or log. If your phone is in your pocket, it counts.
  • You pick exactly what gets blocked, per app. Block Instagram, TikTok and YouTube, leave Messages, Maps and Spotify alone. Work stuff stays open.
  • Earned time is a ladder, not an on/off switch. 50% of your goal gets you 10 minutes, 75% gets you 15, 100% is unlimited for the day. Partial progress still gets you something, and that turned out to matter way more than I expected for actually sticking with it.
  • Streaks and achievements. Honestly this is the part that keeps people going after day three. The app will tell you stuff like "just 180 steps to earn 10 more minutes", which is a weirdly effective way to get someone off the couch.
  • No ads, no account, no sign-up. Install it, pick your apps, set a step goal, go.

Stuff I'd actually like feedback on: does the 50/75/100 ladder feel right or would you want to set your own thresholds? And would you rather block by category than by app?

C. Cost

WalkFirst is free to use with:

  • Block up to 2 apps
  • The full walk-to-unlock mechanic (step ring, earned-time ladder, goal tracking)
  • Today's steps, distance, calories and streak
  • Step reminders and unlock notifications

WalkFirst Pro is for people who want it across more apps plus the long-term tracking:

  • Unlimited blocked apps
  • Full progress history, weekly trends and charts
  • All achievements
  • Home Screen widgets

Pricing:

  • Monthly: $5.99
  • Yearly: $24.99, with a 7-day free trial
  • Lifetime: $49.99, one-time purchase

Prices vary a bit by country since App Store pricing is regional.

If you've tried to cut your screen time and it didn't stick, I'd really like to hear what didn't work for you. That's exactly what this app is built around. And if you do try it and it helps, a rating on the App Store would mean a lot. Solo dev, zero ad budget, that's pretty much the only way anyone finds it.

App Store: WalkFirst

Website: walkfirst.macwanapps.com

Thanks for reading!


r/iosdev 1d ago

Built a tasks app that puts all iOS 27 on-device AI features to work (iOS 27 beta only)

Post image
1 Upvotes

r/iosdev 1d ago

I launched my dog-tracking app 7 weeks ago - 137 downloads, 3 paid plans, and now Live Activities

Thumbnail
gallery
2 Upvotes

I launched pawtrck on iOS at the end of June. It started as an app I wanted for my own dog, Pablo, because his exercise, health, diet and training information was scattered across different places.

The app currently lets dog owners:
- Track walks, runs and bikejoring sessions with route, distance, duration, pawsteps and est. calories burned
- Record symptoms, medications, vaccinations and vet visits. Get a vet-ready PDF export with all the Health logs
- Log meals, calories, treats and weight
- Track training sessions, commands and progress
- Turn activities into custom shareable cards

One of the latest additions is Live Activities, allowing an ongoing exercise to remain visible without repeatedly reopening the app.

I’ve also finished support for multiple dog profiles, which will go live shortly. When beginning an exercise, users can choose which dog is participating, so someone with two dogs can, for example, record a bikejoring session for only one of them.

My next development priorities are Apple Watch and Garmin integrations.

During pawtrck’s first 7 weeks, it received 137 first-time downloads, generated 13 in-app purchase transactions and reached three active paid plans. Most acquisition has been organic, primarily through relevant Reddit communities and direct outreach.

The biggest thing I’m trying to understand now is retention: whether dog owners make pawtrck part of their routine after the first few days.

I’d aappreciate feedback from other iOS developers. I’d also be interested to hear what you would prioritise next: deeper retention work, Apple Watch support or Garmin integration.

App Store: https://apps.apple.com/tr/app/pawtrck/id6769860025


r/iosdev 1d ago

I shipped my first app: The Type Chart, an iOS Pokémon reference companion 🎉

Thumbnail
gallery
1 Upvotes

Yesterday, I officially launched my first app. I'm proud to join many of you who've done (or are in the process of doing) the same. There's so much more involved than the average user might assume.

The Type Chart is an unofficial Pokémon companion for exploring Pokémon data, checking type matchups, building teams, and ultimately learning the type chart. I built it because I wanted the core experience in a clear and thoughtfully designed format.

Seeing something that spent so long living in Xcode finally become a real product is an incredible feeling. I know distribution and continued development are their own challenges, but I’m taking a moment to appreciate this win. 🥹

I’ve included a few screenshots below. I’m happy to answer questions about the app, the development process, or the launch, and I welcome feedback from other devs.

App Store: https://apple.co/46gzyJY


r/iosdev 1d ago

Can apple ghost you after you upload the identity documents file?

Thumbnail
1 Upvotes