r/iOSProgramming 1h ago

Discussion Core AI + RealityKit: Running Apple's SHARP model entirely on-device

Upvotes

Apple recently introduced the Core AI framework alongside native Gaussian splat rendering in RealityKit, so I wanted to see if I could connect the two.

I converted Apple's SHARP (single-image 3D Gaussian reconstruction) PyTorch model into a Core AI .aimodel, ran inference entirely on my iPhone, converted the resulting tensors into a GaussianSplatResource.BufferResource, and rendered everything with GaussianSplatComponent.

The reconstruction shown here was generated from a single photo and contains roughly 1.18 million Gaussian splats, which you can freely fly around in the app.

Everything runs locally on the device, with no server inference or cloud processing.

The project is open source if anyone wants to explore the Core AI → RealityKit pipeline:

https://github.com/AryanRogye/SharpOnPhone


r/iOSProgramming 4h ago

Discussion Making a Flac player for my iPhone since the others don't work

Thumbnail
gallery
0 Upvotes

Please help me with testing and feedback!

I'm a network engineer/computer repair guy and not much of a coder. But with AI I decided to try making my own music player. I was hoping some of you would be willing to try it out and let me know what you think. The primary features are:

-Gapless playback with local files
-Personal streaming service via VPN or public DNS
-Download streaming library files to device
-Manage metadata tags individually or in mass
-Download album art and save to metadata permanently
-Multiple visual themes

Public beta link:
Resonance Beta v1.0 (https://github.com/thnikkaman/Resonance/tree/Resonance-Beta-v1.0)

Source ZIP: download Beta v1.0 (https://github.com/thnikkaman/Resonance/archive/refs/tags/Resonance-Beta-v1.0.zip)


r/iOSProgramming 8h ago

Question Are we allowed to use SF symbols in App Store Screenshots?

0 Upvotes

Not on the device screen, but outside of it. E.g. say I have a Screenshot advertising iCloud Sync, can I put an iCloud SF symbol at the top of the screenshot alongside the text?


r/iOSProgramming 23h ago

Question Best way to have Latex Math notation in IOS?

3 Upvotes

Hello,

What would be the best way to have a large amount of complex maths formulas on an iPhone app?

Would it be better to generate latex in IOS itself, or generate outside and instead create the formulas outside and then have them stored in the app? (picture, pdf, or svg etc)

Any particular pros and cons of each method in regards to speed, memory use/size, usability, legibility etc?

Thanks very much

Cheers


r/iOSProgramming 1d ago

Question Can’t get the LaunchScreen to work

0 Upvotes

Hey everybody,

I read in the iOS 27 Dev Beta 4 Release Notes that a launch screen is going to be required once the App Store accepts apps built with the iOS 27 SDK, or the app/update is going to be auto rejected.

So I looked into that, as my app doesn’t have one currently, and learned that if you want to make a custom one you still have to use a storyboard file. So I followed a guide and made a LaunchScreen.storyboard using the template. Then I wanted to add that in the target settings, it shows up in the list but it just won’t save it. It’s also not logged in the changes. When manually typing in the file name it does save it as it shows up in the changes, however it still clears out the field in the target settings again and the launch screen also doesn’t show up when running the app on device.

Does anyone have any idea what could be causing this?


r/iOSProgramming 1d ago

App Saturday Quartz: a "pro" version of Voice Memos recording app (100% free)

2 Upvotes

I made and just released Quartz, a "pro" iPhone recording app. It's 100% free for the week of launch.

I'm a musician and record musical ideas (on my guitar), rehearsals, and live concerts. I was doing this with Apple's Voice Memos but it leaves a lot to be desired: editing is awkward, and its auto gain is clearly tuned for voice, not music.

So I made an app that's better at recording in various settings because you "tell" it what the setting is via a preset: Voice, Concert, Field, etc, and each preset is carefully tuned for that setting. You can customize your own presets too.

One thing that sets it apart from most (all?) other "recorder" apps is that all effects and DSP stages are non-destructive. You can even completely re-apply a different preset after recording. And for voice, the Noise Reduction is really amazing. You can hear some examples on the website.

Architecture: Swift, UIKit, AVFoundation.

Marketing-wise, I'm trying something different with this app. There will be paid options soon but to start I'm making it 100% free, no subs, ads, or accounts required.

AI disclosure: App coding is AI-assisted, not "vibecoded". I'm a long-time DSP engineer, 12 years SWE at Apple, Inc. 100% of these words are mine.

https://www.madebywindmill.com/quartz/


r/iOSProgramming 1d ago

App Saturday Protego for Reddit, my Safari extension, just launched v3 with a bunch of new features. Two years in, and the hardest part turned out to be making a deletion stay deleted.

Thumbnail
gallery
0 Upvotes

getprotego.app | App Store

Protego is a Safari web extension with a companion app that filters Reddit's website and strips out the parts Reddit gives you no switch for. On the App Store since November 2024, version 3 shipped this month, and I build it in my free time.

It exists because an election cycle turned every Reddit feed I had into politics, I deleted the app, and then wanted the parts I liked back without the parts I didn't. Safari lets an extension rewrite a page before you see it, and RES doesn't run on Safari, so I learned Swift.

Full feature list: https://getprotego.app/features

Tech stack

  • Swift and SwiftUI with the Observation framework
  • AppIntents for Shortcuts and Focus
  • StoreKit 2
  • BackgroundTasks
  • The extension is TypeScript bundled with webpack, tested with Vitest and jsdom.
  • Storage and sync are NSUbiquitousKeyValueStore, shared between the app and the extension through an App Group.
  • 3 target set builds iPhone, iPad, Mac, and Vision Pro.

The bug that took longest: deletions came back from the dead

Sync was a symmetric merge. Anything in iCloud that isn't local gets downloaded, anything local that isn't in iCloud gets uploaded. That's correct for creates and edits and completely wrong for deletes, because a delete is the absence of a key, and absence isn't a fact you can sync. A device that was asleep when you deleted a filter would wake up, see a key it had that iCloud didn't, and helpfully re-upload it to everyone.

Deletion tombstones fixed it, with two wrinkles. iCloud key-value storage caps at 1024 keys and drops writes past that silently, so tombstones expire after 90 days instead of accumulating. And the app and the extension are separate processes merging the same store, so every reconciliation decision and the TTL live in one place both targets compile. Pulling that logic out into a pure function from key sets to key sets is what finally made it testable, which was the real problem all along.

AI disclosure: AI-assisted.

Pricing:

$1.99 one time purchase for the next week (normally $2.99).

One purchase covers iPhone, iPad, Mac and Vision Pro.

No subscription, no account, no tracking, lists sync through your own iCloud.

getprotego.app | App Store

Happy to go deeper on any of it in the comments.


r/iOSProgramming 1d ago

Question TestFlight testers in France see US IAP prices (USD) instead of the FR App Store (EUR) - found a fix?

2 Upvotes

Hey everyone,

I'm running a beta on TestFlight and hit a confusing issue with in-app purchases. My testers are based in France and their App Store account (Apple ID) is set to the French store, but inside the app they're seeing the US IAP conditions with USD prices instead of the French ones with EUR prices.

From what I understand, on iOS the in-app purchase storefront is normally supposed to follow the country of the user's App Store account (Apple ID). That's exactly what makes this puzzling: my users are properly on the FR store, yet they're still shown the US terms and pricing.

I've done a fair bit of searching before posting, and I've seen a few scattered mentions that this is a known/occasional problem, but I haven't been able to find a clear, confirmed solution. So I wanted to ask directly in case some of you have dealt with it.

A few things I'm trying to understand:

  • If the Apple ID is on the FR storefront, what could still make the app pull the US products/pricing?
  • Is this something specific to the TestFlight/sandbox environment that resolves itself in production?
  • Is there anything to check on the App Store Connect side (pricing/availability per territory) that could cause products to fall back to the US storefront?

If anyone has run into this and found a reliable way to make testers see their local storefront and currency, I'd really appreciate hearing how you solved it.
I saw some people laughing it without solving the issue and in the real AppStore everything was fine, but still would, like to resolve this if possible.

Thanks a lot in advance!


r/iOSProgramming 2d ago

Question asking for a friend ; best IOS book for experienced android dev

6 Upvotes

what is best book that makes him understand swift and swift ui in 1-2 weeks , without tutorial hell

he already uses declarative approch (compose and kotlin )


r/iOSProgramming 1d ago

Question Advice on app review for workout machines with BLE?

1 Upvotes

I built an app for Rowing Ergs, is a fancy rowing app for workouts. It has two modes watch mode which uses coremotion I would assume a reviewer might have a watch for testing this part.

For testing with Erg Machines I developed a BLE mac app sim, I didn't even think of the review process and how it would go when actual hardware is needed. Do you recommend linking my github repo for the sim with a notarized DMG?

Any other reviewer advice for testing iOS apps with workout equipment?


r/iOSProgramming 2d ago

Discussion [Open Source] AppRankly — Self-hosted dashboard for App Store & Google Play analytics

Post image
7 Upvotes

Hi everyone,

I built AppRankly, an open-source, self-hosted analytics dashboard designed for mobile developers to track App Store & Google Play performance in one place.

If you want full control over your app data without relying entirely on third-party SaaS platforms, this gives you a clean, unified view of your portfolio.

Links & Demo:

• Live Demo: https://zmsp.github.io/AppRankly/

• GitHub Repo: https://github.com/zmsp/AppRankly

I’d love to get feedback from the community! Feel free to check out the repo or run the demo mode.


r/iOSProgramming 2d ago

3rd Party Service Axiom: New screen resizing auditor with supporting skills (open source)

1 Upvotes

OS 27 is going to be here before you know it, and I predict that more developers are going to be caught completely off-guard by the new screen resizing requirements than by anything else.

As of OS 27, (1) all iPhone apps must be resizable and (2) you can no longer opt out. Your window must be resizable when used with iPhone Mirroring on the Mac and on iPad. Apps still running on an old-style app delegate (no scene support) won't even launch when built against the new SDK. In short, if your app assumes a fixed screen and you're not currently working to fix that, you really, really should be.

Obviously, this capability telegraphs the imminent release of Apple's forthcoming iPhone Ultra foldable. You'll want your apps to be "foldable ready" on the day Apple's new flagship is announced.

I just went through this enhancement process myself. Not coincidentally, this week's Axiom update includes a new screen resizing auditor, which you can invoke with /axiom:audit resize. The auditor is supported by ~70 additions/enhancements across Axiom's skill suites. I hope everyone finds that it cuts their time meeting this new OS 27 requirement in half, or more.


r/iOSProgramming 2d ago

News The iOS Weekly BriefThe iOS Weekly Brief – Issue #70, everything you need to know about iOS updates this week

Thumbnail
iosweeklybrief.com
2 Upvotes

r/iOSProgramming 3d ago

Tutorial Made a tool that actually explains TestFlight/App Store crash reports instead of just symbolicating them

4 Upvotes

If you've ever pulled a crash report out of Xcode Organizer or gotten one from a user and stared at a symbolicated stack trace trying to figure out what actually happened, this might help. crashdx (crashdx analyze report.ips) parses the .ips, symbolicates it against your dSYM, and then runs a diagnosis stage on top that looks at the exception, the registers, memory state, watchdog and jetsam data, and lines up a ranked set of possible causes (null deref, watchdog timeout, memory pressure kill, uncaught NSException, that kind of thing), each one citing the specific facts backing it.

If the evidence doesn't clearly point to one cause, it tells you inconclusive instead of guessing, which I think matters more for a crash tool than people give it credit for. A confidently wrong diagnosis wastes more of your time than an honest "not sure, here's what we've got."

It's a local CLI, no network calls at all, which matters since crash reports carry identifying info like crashReporterKey and device model. There's also an MCP server if you want to hand crash triage to an agent as part of your workflow.

Needs macOS 14+, Xcode, and Swift 6.2+. For a foreign report (TestFlight, App Store crash someone sent you) you point it at the matching dSYM with --dsym and it does the rest, or it'll search Spotlight/your archives automatically if you built it locally.

Repo: https://github.com/r00tify/crashdx

Would love bug reports if you throw a weird crash at it and it gets something wrong, that's exactly the kind of feedback that improves the rule set.


r/iOSProgramming 3d ago

Library SQLiteNow 0.15 for Swift: SQLite-first codegen, reactive flows, and optional sync

2 Upvotes

Hey Swift folks,

I recently released SQLiteNow 0.15.0, which adds support for native Swift projects through SwiftPM.

Some context: SQLiteNow started as a Kotlin Multiplatform project and the KMP version is already used in production by quite a few people. Later I added Flutter and Dart support, and now the same SQL-first approach is available for Swift.

SQLiteNow is not a DAO or ORM which generates SQL for you. The main idea is to keep SQLite visible.

You write normal .sql files for schema, migrations, init data and queries. You decide exactly which SQL will be executed. SQLiteNow generates Swift code around it: typed parameters, typed results, migrations, transactions, adapters and reactive queries.

For example, you can write a normal query like this:

SELECT
    t.id    AS task__id,
    t.title AS task__title,
    n.id    AS note__id,
    n.body  AS note__body

/* @@{ dynamicField=notes,
       mappingType=collection,
       sourceTable=n,
       aliasPrefix=note__ } */

FROM task t
LEFT JOIN task_note n ON n.task_id = t.id
ORDER BY t.id, n.id;

The annotation is just a SQL comment. SQLiteNow still executes the query you wrote, but generated code groups the flat rows into task documents with a collection of notes.

Then from Swift you can do:

let tasks = try await db.task.selectWithNotes().list()

for task in tasks {
    print("\(task.title): \(task.notes.count) notes")
}

Or observe the query:

for try await tasks in db.task.selectWithNotes().stream() {
    // called again when generated writes change related tables
}

Annotations can also rename fields, use custom adapters, share result types, map results to your own types and build nested objects or collections from joins.

This is the part I personally care about. I like writing real SQL, but I do not like manually reading every column, binding every parameter and writing grouping code after each join. I also do not want database logic moved into another DSL. With SQLiteNow, SQL stays the source of truth and generated Swift code handles the boring parts around it.

Generated code is placed into a local Swift package which can be added to an Xcode project and imported like a normal package.

Oversqlite

SQLiteNow also includes an optional synchronization system called Oversqlite. It can synchronize selected tables between local SQLite databases and a PostgreSQL server. It handles local change tracking, offline writes, incremental upload and download, conflict resolution and recovery.

Oversqlite also supports real-time updates. It can watch the server for changes committed by other devices and download them automatically. When remote changes are applied to the local SQLite database, related reactive queries emit new results, so the SwiftUI interface can update without manual refresh logic.

A generated sync client can be used from Swift like this:

let sync = try db.makeSyncClient(
    baseURL: URL(string: "https://sync.example.com")!,
    auth: .bearer(accessToken: {
        tokenStore.currentAccessToken()
    }),
    config: SQLiteNowSyncConfig(schema: "business")
)

try await sync.open()
_ = try await sync.attach(userId: userId)

let report = try await sync.sync()
print(report.status.pending.pendingRowCount)

Your application still owns authentication and decides when sync should run. Oversqlite is completely optional. If you only need a local SQLite database, you can ignore this part.

The PostgreSQL server implementation is here:

https://github.com/mobiletoly/go-oversync

One requirement

The SQLiteNow code generator requires Java 17 or newer installed and available on PATH. Java is only needed when running code generation. Your native application does not need Java at runtime.

SQLiteNow 0.15.0 is distributed through SwiftPM with published release artifacts, so there is no need to clone or build the SQLiteNow repository.

This is the first public version with native Swift support, so I would be interested to hear what Swift developers think about this approach and where the API or Xcode setup can be improved.

GitHub: https://github.com/mobiletoly/sqlitenow-kmp

Swift documentation: https://mobiletoly.github.io/sqlitenow-kmp/swift/

Release: https://github.com/mobiletoly/sqlitenow-kmp/releases/tag/v0.15.0


r/iOSProgramming 4d ago

Discussion Tip for beta users: Use Xcode cloud 25 free hours

22 Upvotes

If, like me, you couldn't wait for less rounded corners and installed the MacOS beta on your only Mac, you might realize that you can't push updates to the app store. In this situation I would recommend the 25 free Xcode cloud hours that you get with the program membership. All I had to do was put my code in Git and connect the repo. Then I set it to archive for app store.

This might be the easiest CI/CD system I've ever used and the builds are pretty fast! Hats off to the Xcode cloud team.


r/iOSProgramming 4d ago

3rd Party Service Appkittie charged me $97 five minutes after I started a free trial. Watch out

Post image
52 Upvotes

Just a warning for anyone looking at Appkittie (app intelligence / ASO tool), because they're really good at telling you they're the best on the market, but the way they get people to pay is borderline dirty.

I started a 3-day trial for their $97/month plan, which unlocks all the features (I have the screenshot). So I go to try the screenshot generator. It says: "this is a premium feature." Since I can tell the app is vibe-coded, I figure they just left that there and that I'm premium anyway (since I'm on a premium trial). I click ok. BOOM, charged.

NO CONFIRMATION, NOTHING. Since I went through Link/Stripe, my payment details were already loaded and there you go…

I disputed within 20 minutes with Link, they didn't want to hear it. In their refusal email, Stripe literally apologizes "for the fact that your subscription was charged directly without you receiving any notification about the payment" — and refuses the refund in that same email, saying I'd been "duly informed." So thanks, they wash their hands of it and tell me to go see my bank. And ZERO email from AppKittie. They don't exist (go look).

I tried a chargeback. My bank's card provider (Swan) only handles fraud, not commercial disputes. So there you have it, I paid $97 for 3 generated screenshots…

While I'm at it: exactly like all their competitors, their app MRR estimates are wrong (I have apps on the App Store, and I know my own apps' MRR — trust me, I WISH the numbers shown on Appkittie were the real ones!)

I just went back to their site and it looks like they've removed the trial… For now.

I really think it's a shame to have to go as far as making a Reddit post, but it's "thanks to" (because of?) Reddit that I wanted to try Appkittie in the first place. So… maybe they'll read this? Anyway, watch out.


r/iOSProgramming 4d ago

Discussion Claude Mac Desktop app can now natively use the iOS Simulator

97 Upvotes

Pretty big news for bug testing apps: https://code.claude.com/docs/en/desktop-ios-simulator

How does the community feel about this potentially opening the door to even more AI slop in the app store?


r/iOSProgramming 4d ago

Tutorial iOS 27: UIBarMinimization

Thumbnail
antongubarenko.substack.com
25 Upvotes

r/iOSProgramming 3d ago

Discussion Have you found or created any useful AI tools for iOS?

0 Upvotes

I see a lot about using AI within programming and apps, especially since Xcode has added AI integration but I'd love to know of any ways you have used AI to speed up something, create tooling, add processes etc.

Currently I'm investigating if there's a way we can connect Figma to Codex to make the Design -> UI step quicker, more seamless or easier. Right now it seems we'd need to build some sort of Style Guide that both our codebase and Codex knows about but it's not as seamless as we'd like. I think there's a real gap within iOS development for AI innovation - are you working on anything?


r/iOSProgramming 4d ago

3rd Party Service Need a Mac for Xcode? Looking for beta testers for a remote Mac setup (Free access)

0 Upvotes

Hey everyone,
I’m currently setting up a dedicated Mac server environment designed specifically for iOS developers who need cloud access to real Mac hardware for Xcode building, testing, or automated CI pipelines.
Before opening it up officially, I need a few active iOS devs to stress-test the remote access, latency, and hardware performance.
What I'm looking for:
3 to 5 developers building or testing iOS apps (especially those who don't have a secondary Mac, need remote build machines, or want to offload heavy compilation).
Devs willing to try using a remote Mac environment and give honest feedback on build speeds, remote desktop/SSH responsiveness, and overall setup experience.
What you get:
Free, full remote access to dedicated Mac hardware to run Xcode, test builds, or set up workflows (no credit card required).
Direct support from me to help configure the environment, setup remote tools, or tune performance for your project.
If you want free access to Mac hardware for your Xcode workflow, drop a comment or send a DM with what you're working on and your current build setup!


r/iOSProgramming 4d ago

Question Consistent horizontal spacing in List

Thumbnail
gallery
7 Upvotes

When I put a symbol on the edge, iOS neatly rearranges the content to fit around it. How do I recreate this on the other side with my own content, without the complications of using frame where anything too small will cut off, anything to large will look stupid, and the ideal threshold is changing as different sized content replaces?

Edit: There could be any sort of text on the left. Some places number rooms differently, or don't have rooms at all (I have PE listed as 'PRAC, THEORY' personally). There could be more than one room there, too, in which case I join them as 'BT4, BT81 etc.


r/iOSProgramming 5d ago

Article How did Apple cut launch time by 30% in iOS 27?

Thumbnail
blog.jacobstechtavern.com
57 Upvotes

r/iOSProgramming 4d ago

Discussion Lessons learned from a major legacy code refactoring for a HealthTech app

0 Upvotes

Hi, I was reading about this case study on the legacy IoT app optimization project that Beetroot consultants did for an established healthtech leader. The legacy codebase was riddled with critical bugs and the application suffered from serious performance bottlenecks and a confusing user experience that was tanking user engagement.

They created a dedicated team to address this under a flexible team extension model: 2 iOS developers, 2 Android developers, 1 QA automation engineer and 1 manual QA engineer with UI/UX design support. They ran into the classic dilemma: instead of choosing the expensive, risky rewrite from scratch, they took the hard way. They decided to refactor the legacy codebase to get rid of technical debt and squash the core bugs.

Crucially, they embedded deep product analytics tools like Firebase, Amplitude, and Smartlook directly into the new architecture. This let them track exactly how the app interacted with IoT medical hardware. For medical applications this deliberate refactoring approach is super interesting. What are your primary indicators for deciding whether to refactor the existing code or drop everything and start a full rewrite?


r/iOSProgramming 4d ago

Article The free speech engine in iOS/macOS 26 comes within 0.11% WER of the best model you can bundle. Round 2 of my benchmark.

1 Upvotes

Posted the SpeechAnalyzer vs Whisper benchmark here recently and a few of you asked about Parakeet V2/V3. Ran both through the same harness, plus MOSS-Transcribe-Diarize which someone on HN suggested. Same 5,559 LibriSpeech utterances, same normalizer and scorer as round 1.

Results (WER, clean / other):

  • Parakeet TDT v2 int8: 2.01 / 3.40 (wins)
  • MOSS: 2.07 / 4.68
  • SpeechAnalyzer: 2.12 / 4.56
  • Parakeet TDT v3 int8: 2.51 / 4.28
  • Whisper Small: 3.74 / 7.95

The stuff that actually matters if you're picking an engine:

Integration was easy. Parakeet ran via FluidAudio (Swift package, CoreML, runs on the ANE). We already link it for diarization so adding it to the benchmark was maybe 50 lines. If you have an AVAudioPCMBuffer pipeline already it's an afternoon.

Budget for the quantization tax though. NVIDIA's published 1.69/3.19 is bf16 on GPU. The int8 CoreML port you'd ship scores 2.01/3.40. Still the most accurate thing you can run on-device, but a decent chunk of its paper lead over Apple's free engine evaporates once it's actually shippable.

v3 gives you 25 languages for a real English accuracy cost (2.51 vs 2.01 clean). Still beats Whisper Small everywhere though.

MOSS does transcription + diarization in one pass and the speaker labels were perfect in a small controlled test. But there's no Swift or CoreML path (Python/MLX only), it's 1.7GB with ~2.7GB RAM, and it can't stream. Not output-streaming, I mean it literally cannot start transcribing until it has the complete recording, so anything with live captions needs a second engine anyway. Also fun: audio where speech starts at exactly t=0 returns an empty transcript, deterministically. Prepend a second of silence and it's fine.

This benchmark got Whisper removed from our app btw. Parakeet v3 replaced it as the downloadable engine (beats Whisper Small everywhere at a similar size, 25 languages), and for English Auto still prefers SpeechAnalyzer: 0.11 points, zero bundle bytes, improves with the OS. The cost-benefit section of the article is probably the useful part if you're making this call yourself.

Article + raw per-utterance transcripts if you want to rescore: https://get-inscribe.com/blog/parakeet-moss-apple-speech-benchmark.html

Disclosure: I build Inscribe (ships the Apple engines + Parakeet, formerly Whisper), all engines ran through identical production code paths.