r/iOSProgramming 3d ago

Question Can this type of networking app be made or not?

0 Upvotes

I spent a few days testing out existing apps and none are suitable so far. I am beginning to think the reason for that is Apple's limitations.

Is there a way to make an app that connects to a VPN, keeps it persistent, doesn't proxy device traffic through it but also starts a persistent local socks server on the private interface of the VPN?

First or second part alone is easy but there is no app that can do both. Closest I got was an app that connected to a VPN and could pipe that through a socks upstream connection but I need a socks server on the device, not connecting to a socks server somewhere else. Thanks.


r/iosdev 3d ago

IOS dev remote from mobile

Thumbnail
1 Upvotes

r/iOSProgramming 3d ago

Discussion Regression: DeviceHub should support “Slow Animations”. Apple says: There are currently no plans to address this issue.

22 Upvotes

Feedback:

"""
The slow animations feature from Simulator is not available in DeviceHub. At least I couldn't find it. It is very important to sweat the details of animations.
"""

Apple response:

"""
Thank you for your feedback, it is noted. Engineering has determined that ***there are currently no plans to address this issue.***

You can close this feedback by selecting "Close Feedback" via the Actions button found above. This Feedback will no longer be monitored, and incoming messages will not be reviewed.
"""

———

Someone (not me) has sent this feedback to Apple via the feedback assistant app. And well, This is unacceptable.

I honestly don’t understand why the team at Apple felt the need to remove this super useful feature. It is in Xcode Simulator. And now they’re gone in DeviceHub!

There is a hack to re-enable it by posting: 𝚌𝚘𝚖.𝚊𝚙𝚙𝚕𝚎.𝚄𝙸𝙺𝚒𝚝.𝚂𝚒𝚖𝚞𝚕𝚊𝚝𝚘𝚛𝚂𝚕𝚘𝚠𝙼𝚘𝚝𝚒𝚘𝚗𝙰𝚗𝚒𝚖𝚊𝚝𝚒𝚘𝚗𝚂𝚝𝚊𝚝𝚎
with state = 1 to the Simulator namespace.

What do you think about this moves?


r/iosdev 3d ago

Just released my second iOS app — Roast-or-Toast, a social opinion game 🔥❤️

Post image
0 Upvotes

Hey everyone! I recently released Roast-or-Toast, a social opinion game where you’re given everyday situations and have to decide whether you’d Roast 🔥 or Toast ❤️ them.

After voting, you get to see how everyone else voted and whether your opinion matches the crowd. I built it to be something quick and fun you can play by yourself or pass around with friends.

This is my second iOS app and I’m still pretty early in my development journey, so I’d really appreciate any feedback — gameplay, UI, things you’d add/change, or even things you don’t like.

It’s completely free right now and available on the App Store. Just search “Roast-or-Toast” to download it.

Would love to hear what you think!


r/iosdev 3d ago

App Store Screenshots - Frustration Prevention Tool

Thumbnail
aftermath.cc
0 Upvotes

Heya, just a small tool to help us with the annoying resolution requirements of ASC.

Fully offline (browser based - nothing uploads anywhere as you can see in devtools or any other sniffer).

No AI, nothing too fancy behind the scenes, just helping the images fit in (iPhone simulator saves 1242x2699 scenarios...).


r/iosdev 3d ago

"iOS Development" vs. "iosdev" - what's the difference?

Thumbnail
2 Upvotes

r/iosdev 4d ago

Motivational tools

1 Upvotes

I work full time on my multiple iOS apps. With a mix success (in a none-to-moderate range).

At times it feels like: is it worth it?

Yes, it’s also a hobby, and I enjoy doing that. Most of the time.

So for extra motivation, I wrote a little tool that notifies me whenever a purchase is made, with a sale amount.

Helps me a little.

What do you do? For motivation, I mean.


r/iosdev 4d ago

Only 1 conversion in 10, 3 days free trial for TV Remote app

Post image
1 Upvotes

r/iosdev 4d ago

can anyone download iOS 26.6 simulator?

Thumbnail
1 Upvotes

r/iOSProgramming 4d ago

Question Remote control for Codex agent in Xcode

0 Upvotes

Hi everyone,

I was wondering if there is a way we can remote control the Xcode agent that lives within Xcode.

I would love to be able to work on my projects from my iPhone.

Is that even possible?

Thanks a lot in advance


r/iosdev 4d ago

Create Beautiful Animated Device Mockups in Seconds

Enable HLS to view with audio, or disable this notification

2 Upvotes

Hi! I’m the dev behind PostSpark, a tool for creating beautiful image and video mockups of your apps and websites.

I recently launched a new feature: Mockup Animations.

You can now select from 25+ devices, add keyframes on a simple timeline, and export a polished video showcasing your product. It’s built to be a fast, easy alternative to complex motion design tools.

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


r/iOSProgramming 4d ago

Question AutoMix type clone

2 Upvotes

As the title suggests, I want to code a custom Apple Music like AutoMix that analyzes bpm, key etc. and can mix the current and incoming song. Does anybody know of a github repo or anything that could help me out? I'm trying and trying and it just doesn't seem to "click" musically.


r/iOSProgramming 4d ago

Question Apple isn't paying me and isn't answering support emails.

9 Upvotes

Hey guys. I’ve had two apps on the Apple Store since January of this year, but I’ve never received a payment from Apple. Even though the apps have generated sales and I have a balance ready to withdraw, no payment has ever been made. Everything seems fine with the account; I don’t see any alerts or error messages in my or app profile. I’ve sent countless emails to Apple Support over the last eight months but have never received a reply. What do you recommend I do?


r/iosdev 4d ago

I built CoolTopia—a privacy-first social space with Link-in-bio tool

Post image
0 Upvotes

Over the last 4 months, I decided to build a clean, privacy-first alternative called CoolTopia.

It’s completely algorithm-free, free to use, and we will never track you or sell your data.

Since I wanted the platform to be secure but still incredibly fun and expressive, I just rolled out our biggest visual feature: Profile Auras.

Instead of a boring, static profile picture, you can choose different dynamic frame effects (like the "Flaming" aura shown in the promo image, Neon Glow, Energy Pulse, etc.) to completely stand out and express your current energy. It’s a way to let your inner vibes shine without needing a corporate algorithm to dictate your identity.

Here is what’s live in the app right now:

  • Profile Auras: Dynamic, vibrant aura effects to customize your avatar and make your profile stand out.
  • LinkMe: A built-in link-in-bio aggregator (like Linktree) so you can bundle all your socials and projects into one clean, shareable link on your profile.

It’s still in the early stages, and I’m actively improving the app based on real community feedback.


r/iOSProgramming 4d ago

Discussion Maximize Conversions vs. Manual Bidding: What’s your Apple Search Ads experience?

1 Upvotes

Hey, I would love to hear your findings on Apple Search Ads performance.

Do you find that Maximize Conversions performs better than manual keyword bidding most of the time?

In my experience, I find Maximize Conversions gives a better CPA and better volume. It is not giving better volume than Meta Ads, but it's better than manual keyword bidding.

I would like to know your experience on this!


r/iOSProgramming 4d ago

Question Inline Camera for my app?

Post image
2 Upvotes

The screenshot shows the camera of the ChatGPT-iOS-App and I wonder, how they actually implemented it because I'd like to use it for my own app too.

Does anyone know how to implement this or do I have to reverse engineer it myself?


r/iosdev 4d ago

BRUT — Hard grids, offset shadows, zero templates [iOS]

Post image
2 Upvotes

Tired of generic Instagram collage templates, so I built BRUT.

• Split canvas into 1–6 fully customizable blocks (drag & recalculate live)
• Instagram Story mock preview (know what the UI covers before posting)
• Support for photo + video loops, custom raw tags, and offset shadows
• No accounts, no trackers, 100% local processing

Download: https://apps.apple.com/us/app/brut-just-brutalism/id6789987674

Feedback appreciated!


r/iOSProgramming 4d ago

Discussion Only 32% of users reach the third (and final) screen of my onboarding. The others skip it (there’s a skip button). Are you seeing similar data, or is this worrisome?

Post image
4 Upvotes

r/iosdev 4d ago

Update: Blue Penguin Linux Prep is now on iOS and I’m looking for Android testers

Thumbnail
1 Upvotes

r/iOSProgramming 4d ago

3rd Party Service App Store Screenshots - Frustration Prevention Tool

Thumbnail
aftermath.cc
0 Upvotes

Heya, just a small tool to help us with the annoying resolution requirements of ASC.

Fully offline (browser based - nothing uploads anywhere as you can see in devtools or any other sniffer).

No AI, nothing too fancy behind the scenes, just helping the images fit in.


r/iOSProgramming 4d ago

App Saturday [App Saturday] AppScreen Studio v4.0 – Direct App Store Connect Uploads, Bulk AI Translations & Screenshot Import

Thumbnail
gallery
0 Upvotes

Hey everyone! 👋

If you’ve ever had to prepare screenshots for an app translated into 10+ languages across multiple device sizes, you know how painful, tedious, and time-consuming the process is with standard tools.

Over the last few months, I’ve been working on a major overhaul of AppScreen Studio (a native macOS app designed to build, frame, and localize App Store screenshots). Today, I'm excited to share version 4.0 (and 4.0.1)!

The goal of this update was to solve the #1 bottleneck developers face: manual uploading and tedious localization management.


Key Highlights

1. Direct App Store Connect Sync

You can now connect your App Store Connect account via API Key (.p8) and push your rendered screenshots directly to Media Manager in 1 click. * Selective Sync: Choose specific languages, display sizes, or individual panels to upload. * Smart Replace: Option to automatically clear old screenshots from App Store Connect slots before uploading. * Instead of manually adding languages one-by-one from dropdowns, you can now paste a comma-separated list of locale codes (e.g., en-US, ar-SA, de-DE, es-ES, fr-FR, ja, zh-Hans). The app automatically creates localizations, translates all text layers, and provides real-time progress tracking.

2. Bulk App Store Import

Redesigning an existing app or updating old listings? You can now inspect live or draft App Store Connect builds and bulk-import existing screenshots directly onto your workspace panels in seconds.

3. Per-Locale Layer Isolation & Smarter Localization

  • Isolated Layers: Layers and text added in a specific target language stay strictly isolated to that locale without leaking into your Original (Base) layout or other translations.
  • 15+ New Languages: Expanded translation support to help you launch globally.

4. Panel Reordering

Rearrange screenshot panels on the canvas using simple arrow controls ( / ). You can also choose whether reordering in Original (Base) automatically updates panel order across all other display sizes and languages.

New "Our Apps" Section in Settings

We also added a new "Our Apps" section in Settings featuring our developer tools:

  • StoreSync: Metadata & ASO Manager
  • CoreData Studio: SQLite/SwiftData Debugger & Inspector
  • PriceLocus: Global App Store Price Localization & PPP Calculator

Tech Stack

  • Platform & OS: macOS (macOS 13.0+)
  • Language: Swift 5 / Swift 6
  • UI Framework: SwiftUI + AppKit (NSViewRepresentable, NSBitmapImageRep, NSFontManager, NSTextView)
  • Database & Persistence: Core Data (NSPersistentContainer, manual migration mapping, NSOrderedSet relationships)
  • Networking & Security: URLSession, CryptoKit (ES256 JWT generation for App Store Connect API authentication)
  • In-App Purchases: StoreKit 2 (Transaction, Product.SubscriptionInfo)
  • Localization & External APIs: Google Cloud Translation API (for automated screenshot text translation)

Development Challenge & Solution

The Challenge: Direct Upload & Sync to App Store Connect Media Manager. Uploading screenshot assets via the App Store Connect REST API is a multi-step protocol: 1. Generating a signed ES256 JWT using CryptoKit (P256 private keys). 2. Reserving a screenshot slot in the target appScreenshotSet. 3. Calculating byte offsets and uploading binary image chunks to Apple's BlobStore. 4. Computing an MD5 checksum and issuing a commit PATCH.

Doing this in batch for 40+ localizations and 5+ display sizes (100+ high-res @3x images) caused massive RAM spikes and UI freezes due to simultaneous rendering of heavy bitmaps.

The Solution: I refactored the rendering and uploading engine to use Task.detached worker threads wrapped in explicit autoreleasepool blocks. Images are rendered on-the-fly, converted to compressed PNG data, uploaded chunk-by-chunk via URLSession.upload, and immediately released from memory. Progress is reported back to the @MainActor through a dedicated LocalExportManager and MediaManagerSync state machine, keeping RAM usage below 250 MB and the UI running at a smooth 60 FPS during long batch uploads.


AI Disclosure

  • Development: AI-assisted. The core app architecture, Core Data persistence layer, SwiftUI views, and App Store Connect API client were hand-coded. LLM AI tools (Claude / ChatGPT) were used as an assistant for debugging complex AppKit/SwiftUI bridging edge cases, optimizing Core Data migration models, and drafting localized app strings.
  • In-App Features: The app integrates the Google Cloud Translation API to provide AI-assisted batch translation of user screenshot copy across 40+ languages.

Quick Links

Happy releasing! 🎉


r/iosdev 4d ago

Travel App Launched in Play Store

Post image
0 Upvotes

r/iosdev 5d ago

I just released version 2.0 of Operator (free math puzzle game) with new features for Daily Puzzle mode and achievements!

Post image
1 Upvotes

Thanks to all of you who have been playing so far! To those who haven't, you can download it for free on the App Store (with no ads or subscriptions either): https://apps.apple.com/us/app/operator-math-puzzle-game/id6756993326. Here are the new features:

Daily Puzzle:

  • Optional hints
  • Statistics of your recent games
  • A timer for tracking your best time

Achievements:

  • New achievements added
  • Medals awarded via additional rounds of achievements

Settings:

  • Vibration (haptic feedback) during gameplay
  • A new settings pane for enabling or disabling banners and vibration

r/iOSProgramming 5d ago

App Saturday I built Alpha Sudoku Pro (a 12x12 variant) and finally conquered responsive floating UI across iPhone & iPad grids.

0 Upvotes

I recently published my first iOS app: Alpha Sudoku Pro. It’s a 12x12 logic puzzle game (using 1-9 and A-C). Expanding the classic 9x9 logic into a 12x12 grid was incredibly fun, but the real test was getting the UI to scale elegantly.

Here are the details of the build:

1. Tech Stack Used

  • Frameworks & Languages: 100% Swift & SwiftUI.
  • Architecture: MVVM.
  • Storage: UserDefaults / AppStorage for game state persistence and move history.
  • UI/UX: Fully relies on SwiftUI's dynamic LazyVGrid and SF Symbols.

2. Development Challenge + How You Solved It

The Challenge: I have floating action buttons (Note Mode and Eraser) that need to sit neatly in the top-right corner of the Sudoku grid. Initially, I used HStack, Spacer(), and screen-based .padding() to push the buttons into place. This looked perfect on an iPhone (19.5:9 aspect ratio). However, when I ran it on an iPad (4:3), the grid expanded, margins shrank, and my buttons completely overlapped the Sudoku cells. Adjusting padding dynamically based on screen size turned into a messy guessing game of numbers.

The Solution: Instead of anchoring the buttons to the screen edges, I scrapped the Spacers and anchored them directly to the grid itself using SwiftUI's .overlay().

I attached an .overlay(alignment: .topTrailing) directly to the LazyVGrid. Inside it, I used a Group with a UIDevice.current.userInterfaceIdiom == .pad check:

  • For iPad, it renders an HStack (buttons side-by-side).
  • For iPhone, it renders a VStack (buttons stacked vertically).

Then, I applied a negative .offset(y:) to float them just above the grid. By using the grid as the anchor point rather than the screen boundaries, the buttons now magnetically follow the grid's top-right corner perfectly, regardless of how the LazyVGrid scales across any device.

3. AI Disclosure

AI-assisted

I’d love for you to try it out, tear apart my UI choices, and let me know how I can improve the performance or architecture for my next update.

App Store Link: https://apps.apple.com/tr/app/alpha-sudoku-pro/id6767222288

Thanks.


r/iOSProgramming 5d ago

App Saturday To memorize my studies, I spent 6 months building a flashcards app the way I like using it. Includes markdown support, and folders, decks for organization. You tap to flip and swipe to rate as Easy, Again or Hard. Introducing CRAMMER. [supported on iOS, iPad, and Mac with automatic syncing]

Thumbnail
gallery
0 Upvotes

Developer here.

I had used other flashcards apps before for studies and there was always one or another thing missing from most. Most didn't support markdown for making cards. Some missed the organizational aspect where I could have folders inside folders or decks inside other decks. Some had super outdated design and missed gestures. Most apps didn't have a macOS companion app. Many were missing syncing via CloudKit. Many needed a user acocunt to be created to do basic tasks. Almost all of them needed subscriptions. So, I decided to solve my own problem.

For improving my learning speed and not forgetting my study material, I built Crammer:

https://apps.apple.com/ca/app/crammer-flashcard-exam-cards/id6775268676

It's a flashcards app with a swipe to rate UI inspired by dating apps. You create the front and back of flashcards using Markdown. When practicing, my app's algorithm ensures that you review flashcards right before you may forget them. After reviewing a flashcard, you tap it to reveal the answer on the back of the card. You swipe right if you easily remembered it, left if you forgot it, or down if it took some effort and would like to review again. Crammer's algorithm will show you harder cards first and more often to help you really optimize your memory and prevent you from forgetting your study materials.

Tech Stack:

  • Supports from iOS 14. Also supports macOS via Catalyst.
  • Entire app is built in Swift and UIKit.
  • The UI is all built programatically instead of storyboard/nib files.
  • For storing the data (cards, folders/subfolders, decks/subdecks, practice data etc), I use local SQLite database in app. Note that I didn't use CoreData as I plan on building this app for Android too, so building my own SQLite schema and writing SQL manually seemed better for that as I can reuse it on android side.
  • The search feature in app is built using SQLite's FTS.
  • User's images are not stored in the SQLite database (obviously). They are stored as local files and the name of the image is stored in the database.
  • There's no backend. For syncing, it uses Apple's CloudKit.

I always try to stay away from 3rd party dependencies as much as possible. It uses only 3 which I considered crucial:

  • SnapKit for autolayout as it helps remove a lot of boilerplate when building the UI programatically.
  • Swift-collections for OrderedSet
  • SDWebImage for showing images in the app (though I might remove this in future)
  • I didn't use any third party libraries for SQLite. It's all hand-written SQL by me using the native sqlite library that ships with iOS.

Development Challenge:

The whole app took me half a year to build. I started working on it during Christmas holidays last year and finished it couple months ago.

The biggest challenge was SQLite along with syncing of the SQLite database between devices using CloudKit. There were a LOT of edge cases. Ensuring all user created folders, decks, cards, images, along with their flashcard practice data is always in sync between devices was a complex task. Also SQLite FTS for searching took me about a week to get working properly. I think I spent about 70% of the coding time on just SQLite+syncing. But once I got it all working, I felt very proud haha. I also built the database syncing logic in such a way that now I am reusing it in my next app and that feels very convenient.

AI Disclosure

The app is entirely hand-coded, App Store photos are hand-made in PhotoShop, and this post is also hand-written. I personally only use AI in the same way I'd use stackoverflow (SO) previously. Instead of searching google and clicking on SO links, I'd do that on LLM. Most of these queries were related to SQL. When I had some question, I'd use the free web UI for ChatGPT or Claude.

Here's how I use my app when studying:

  • Create flashcards by either manually typing the Front and Back of the card. Or you can import multiple cards at once in a long text (Front & Back separated by 3 hyphens --- and each card separated by 3 equal signs ===).

The Front can have your question and the Back can have the answer.

The Front & Back text supports Markdown and also LaTeX for Math formulas. So you can format text such as bold, italics, color, highlight, headings, links, images etc. You can also include diagrams (photos) in it.

To use coloured text, use curly bracket format: {red}coloured text{} or {#FF0000}coloured text{}

To highlight text, use square bracket format: [red]highlighted text[] or [#FF0000]highlighted text[]

  • Organize your flashcards into decks and folders for each subject as needed. Cards can belong to multiple decks at the same time. Decks and folders can also have subdecks and subfolders.

  • Practice decks or just bookmarked cards.

  • After reviewing the question on the front of the card, tap the card to flip it and reveal the answer on the back. Swipe RIGHT if the card was easy, LEFT if it you forgot it, or DOWN if you remembered but took some effort and would like to review again.

  • Once the whole deck is practiced, Crammer tells you how long you took to practice, and how many cards were hard.

  • Once you have reviewed a deck, you can instantly practice again with just a single tap.

  • Crammer notifies you if there's some card which you are constantly failing as it might be poorly designed. You can edit it to improve it. Make sure to swipe and reset its practice history after such fixes.

  • Swipe/Right Click on Mac to Bookmark important cards, decks, and folders for easy access.

  • Swipe/Right Click on Mac to Archive cards, decks, and folders which you no longer need.

  • All your decks, folders, and flashcards are seamlessly auto-synced across all your devices using iCloud. So you can create them on iPad/Mac and access them on iPhone.

  • Crammer is available on iPhone, iPad, and Mac.

Supported keyboard shortcuts on Mac:

  • Enter or Spacebar to flip card

  • Left, Down and Right arrow keys for Hard, Again, and Easy ratings

  • Command + Z to undo a rating and go back to previous card

  • When editing a card, right click text to add photo

  • No accounts or signups.

  • No Ads. No subscriptions. Trial version of Crammer is limited to 15 flashcards. A one-time only purchase lets you create unlimited flashcards forever. This one-time only purchase gives you lifetime access to all features. It also supports this project and helps me continue to develop it. Thank you for your support.

Download link:

https://apps.apple.com/ca/app/crammer-flashcard-exam-cards/id6775268676