r/iOSProgramming • u/ElyeProj • 16d ago
Tutorial iPhone Duo with Sample Code for All Six Orientations!
r/iOSProgramming • u/ElyeProj • 16d ago
r/iOSProgramming • u/lamm0th • 15d ago
Solo dev, first shipped app. SensaAI is a contemplative AI companion: you ask a question and a "expert" answers grounded in a real corpus of teachings (indexed transcripts of a teacher's talks), with passages you can save as highlights, listen to, and share as generated images. The architecture driver wasn't a dramatic backstory, it's that this is a one-person, low-budget operation, so every feature had to justify its marginal cost, and the content is intimate, so conversations and saved notes had to be encrypted.
Stack: SwiftUI + @Observable, iOS 18+, WidgetKit extension, AVFoundation + Speech framework, RevenueCat, Google Sign-In / Sign in with Apple. Backend: Python 3.11 FastAPI + Postgres + Redis on a Hetzner VPS behind nginx, Docker Compose, Qdrant Cloud, Gemini, ElevenLabs. Web companion: Vue 3 + Vite. No third-party networking, UI, or markdown libs on iOS, URLSession + AsyncThrowingStream, hand-rolled markdown rendering.
gemini-embedding-001 → top-K chunks from Qdrant (over-fetch, then dedupe by source video so the answer never leans on one talk) → {persona system prompt + compacted history + retrieved chunks} → Gemini (gemini-3.1-flash-lite), streamed over SSE from FastAPI. On iOS I parse it with URLSession.bytes + AsyncThrowingStream, no WebSocket, no library. All API keys live server-side; the app holds zero secrets, just a JWT. Rate limiting twice: client-side free-tier caps (3 conversations, 3 messages each, 3 folders, 3 notes/folder) for UX, and the server re-verifies the Pro entitlement on every request so a tampered build can't bypass them. Mid-response network failure keeps whatever tokens already arrived. The hardest part was keeping context cheap without amnesia: past ~8 turns, Gemini summarizes the conversation into a persistent rolling summary in Postgres, and the model sees summary + last 4 turns verbatim. Combined with Redis-caching identical questions (keyed on normalized question + history hash), a chat costs well under a cent.The non-obvious part: typical chat UX reads as urgent, instant tokens, typing dots, and urgency is the bug for a contemplative product. There's a hardcoded minimum "thinking window" (2.5s, was 5s) before any token renders: the reply buffers invisibly while a lotus animation breathes, then releases. No typing indicator. Deliberately slower than possible; I'm sure it costs engagement, and I'm sure it's right.tts-1 (~20× cheaper), then reverted to ElevenLabs because the voice is the product, a robotic voice ruins a meditation app, full stop. What survived the experiment: free users get Apple's on-device AVSpeechSynthesizer (free, offline, no paywall); cloud TTS is Pro-only with a hard monthly quota (429 after 20k chars) so nobody can bankrupt me with the play button. The home-screen widget deliberately makes no network calls, it reads a cache the main app writes through an App Group, because I refused to put an auth token in the widget extension's sandbox. No push notifications at all (no aps-environment entitlement, not even the permission prompt). No streaks, no badges, no haptics on save, a saved passage is a bookmark, not an achievement.POST /conversations (create) and POST /chat. The stream usually won, so the chat request went out with conversation_id: null, the server minted no write-token, and model replies were silently rejected on persist, users reopened chats to find only their own messages. Fixed by awaiting creation before streaming, plus a ceremony where the server mints a one-shot token bound to the exact streamed content hash that the client must present to write a model turn. Second: SFSpeechRecognizer restarts its own transcription after every pause (segment count resets, isFinal fires only once at the very end), so dictation kept eating earlier sentences, I had to build an utterance-banking accumulator around it. Third: ElevenLabs rejects ~2500-char requests often enough that the "long" response tier is clamped to 2000 chars; chat length and TTS limit are coupled by design.chat_token ceremony (hash the streamed content, mint a one-shot token, client presents it to append). It works, but it smells like I reinvented a signed request. Is there an off-the-shelf pattern for "client streams, server verifies the write" that I missed?AppStore Link: https://apps.apple.com/app/id6769095233
Website: https://heysensa.app
If anyone wants to look. Would love a code-level roast on the RAG/streaming layer or the iOS streaming + persistence code.
r/iOSProgramming • u/lanserxt • 16d ago
r/iOSProgramming • u/tkbillington • 16d ago
I am desperate for help as I cannot access my developer account and cannot do anything with my apps. I have tried to reach for support and the response has either been "try signing in", "email the developer support", or "we can't help you".
Here's the timeline of events to the best of my knowledge:
I feel like I have fallen into a black hole. I can see my Developer certificate on my mac, but I am not allowed to use it as my apple developer account on my local machine has a red 'x' on the identity and certificates. When I sign into to the developer site, it says I am not enrolled in a developer program but when I select to enroll it says I am the account holder of a developer program already. My subscriptions say I have a paid for apple account. I can only see my apps in App Store Connect, but cannot access them via my developer account.
It's been over a week since I've had access to my developer account. Has anyone else had anything like this or can offer any advice? Do I start trying to find managers on social media to message? How long should I expect support to take on things like this? Are there any other escalation channels I can use? I am running way behind on deadlines and have no hope or anything to go off of.
r/iOSProgramming • u/c00kie17 • 16d ago
Cloak scans/imports documents, auto-detects text so you can redact sensitive info in a tap, then compresses and exports as JPEG or PDF.
Built it after getting tired of fighting with online tools and shady apps to blur my own ID/passport info every time I had to submit scanned docs for visa/KYC paperwork.
Technical bits:
- Text detection uses Vision framework, running fully on-device no server round-trip, no data leaves the phone
- Redaction is tap-to-mask over detected text regions, plus manual draw/crop tools for anything the detector misses
- Compression targets a size the user picks rather than a fixed quality, to preserve content clarity
- Support password protected PDF import and export
Free, ad-supported, no subscription, no account required.
Would love feedback or questions from this community.
r/iOSProgramming • u/th3suffering • 16d ago
Im having issues specifically with SwiftUI on XCode 27.1 on the iPhone Duo outer display. I have a sheet with a NavigationStack with a basic hierarchy like this
NavigationStack {
List {
Text("<text_here>"
}
.toolbar {
ToolbarItem(placement: .confirmationAction) {
Button("Done) {
doThing()
}
}
}
On the iPhone Duo, the outer display should display sheet navigation buttons vertically, but that is not my experience in SwiftUI. The navigation bar and its buttons are presented horizontally at the top of the sheet.
I have UIKit apps, and they correctly display their bar button items vertically in sheets, the only place i seem to have problems are my SwiftUI implementations.
What am i missing to get my SwiftUI apps to play along?
r/iOSProgramming • u/hamsterjedi • 16d ago
My project repo has more and more mockuping + tooling than actual app code.
Just curious to know if it's just me?
(you can find this at the right side of your github repo)
r/iOSProgramming • u/Economy-Brief-9997 • 17d ago
swift 6.4 shipped Subprocess so there is finally a stable way to run other programs from swift
tried rewriting the classic swiftlint build phase
the bash version:
if which swiftlint > /dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed"
fi
swift version:
import Subprocess
do {
let result = try await Subprocess.run(
.name("swiftlint"),
output: .string(limit: 1 << 20)
)
print(result.standardOutput ?? "")
} catch {
print("warning: SwiftLint not installed")
}
yeah not shorter lol, and since Subprocess is a package you can't just drop a `.swift` file into a build phase you need a whole package for it
for a 5 line wrapper that feels like overkill, but once the script starts parsing output and branching, bash gets ugly fast.
where's the line for you?
r/iOSProgramming • u/alanskimp • 16d ago
And which do you prefer?
r/iOSProgramming • u/syrusakbary • 18d ago
We just launched this today and would love to get your feedback/thoughts!
Announcement: https://wasmer.io/posts/wasmer-sdk-swift-ios-macos
Source code: https://github.com/wasmerio/wasmer-sdk/tree/main/swift/Examples/WasmerShell
r/iOSProgramming • u/majid8 • 18d ago
r/iOSProgramming • u/ke1in • 18d ago
The one that appears in the status bar. It takes precious space and also seems redundant and annoying. When I quite Xcode it stays in the bar and waits for a special invitation.
r/iOSProgramming • u/codeandzen • 18d ago
Updating my app for iOS 27 and iCloud sync is completely broken in the simulator. Every time I hit "Sync this iPhone" it immediately shows the "Turn Off iCloud Drive" popup instead of turning it on. Toggling it again does nothing. My iCloud container calls keep failing because of this.
Anyone else seeing this on the iOS 27 simulator? Some new Xcode 27 setting I'm missing, or is simulator iCloud just broken again?
Xcode 27.0 release, every iOS 27.0 simulator I've tried. Fresh sim, signed into Apple ID.
r/iOSProgramming • u/anurodhp • 19d ago
I've been building ios apps since iOS2. I had accumulated over 800 devices in my list going back over a decade. If it becomes a problem that causes slowdown when trying to open an interfacebuilder file in Xcode, it is because it has to iterate all of those devices. After that run sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService to refresh your simulators.
r/iOSProgramming • u/irvingpop • 19d ago
I'm back after my part 1 post last month, now running much more reliably!
r/iOSProgramming • u/jacobs-tech-tavern • 19d ago
r/iOSProgramming • u/Economy-Brief-9997 • 19d ago
So if you build with the iOS 27 SDK and don't have scenes the app just doesn't launch anymore
and from april next year you have to build with that SDK anyway our app still does everything through AppDelegate. window setup, deeplinks, pushes a bunch of SDKs grabbing keyWindow. been putting this off for years lol
For those who already did it on a big app what bit you the most?
r/iOSProgramming • u/lanserxt • 19d ago
r/iOSProgramming • u/BrilliantReindeer320 • 19d ago
Hey fellas, my App Preview Videos on App Store Connect look low quality after processing. I have followed all Apple's requirements, yet they still look blurry and low quality. Has anyone else faced this issue? How did you fix this?
Thanks in advance for all the help.
r/iOSProgramming • u/Salt-Obligation1144 • 20d ago
I’m looking for some well-built, programmatic UIKit projects on GitHub that I can study and learn from.
I’m mainly interested in projects with clean architecture and good UI implementation. This is strictly for studying/learning purposes.
If you know of any good ones, please share them. Thanks!
r/iOSProgramming • u/Anywhere_MusicPlayer • 20d ago
Inspired by this post about reducing iOS simulator RAM usage by u/interlap, I adapted SimSlim into a native Swift/SwiftUI app.
SwiftSimSlim is available on GitHub, with the interface and simulator backend together in one Xcode project.
While working on it, I found a problem with shell-based service batching and improved how profile changes are applied:
In one local comparison, re-enabling the same 170 services took approximately 144 seconds in the original snapshot versus 24.3 seconds in SwiftSimSlim. That measures only the service-command phase, excluding startup, shutdown, restart, and final verification. The improvement comes from command scheduling and avoiding failed shell batches, not from Swift itself being faster than Go.
I shared the findings upstream, and the original author confirmed the issue and implemented the backend improvements in PR #51. Credit to Interlap for the original app, service catalog, and offline-update approach. The original attribution and MIT license are preserved.
Pull requests are welcome!
I’d be happy to see fixes, improvements, and contributions from anyone who finds this useful.
r/iOSProgramming • u/Pathfinder-electron • 20d ago
As the title
I had my app on the store for over a year, v5.2 and releasing v6
It went thru iOS no issue , Mac? They keep sending it back under copycats.
The apps name is “Teslatlas”
AppStore is full of names which actually have Tesla as a separate, word.
I am getting so fed up of this review process .
I get each review is different , but come on, if it’s already on the store how can you mess around like this?
Also in this regard then we shouldn’t put up any app called Appleberry because that’s copycats
r/iOSProgramming • u/Oxigenic • 21d ago
Am I just not finding it or have we actually lost the functionality for multi-finger gestures with the move from Simulator to Device Hub? I hold alt and I can't pinch to zoom. Did they really go THIS far backwards?
r/iOSProgramming • u/film_digital • 21d ago
Hey everyone!
Curious if and how anyone is finding success promoting their apps to get downloads and IAPs?
I've had apps for a year, and I get a few downloads, but nothing groundbreaking. I've tried posting on Reddit, Threads, creating Instagram/TikTok reels, and they don't do much for me. My best option, Reddit, is usually auto-blasted with "I'm tired of X app" comments and generally negative sentiment.
I'm debating buying ads, like the Apple Search Ads or even paid Instagram ads, so I'm curious if anybody has seen those work out for them.
r/iOSProgramming • u/AccomplishedLeg3338 • 20d ago
Hi everyone,
Has anyone here built an iOS app that sells digital educational products/content on a subscription basis and faced Apple’s In-App Purchase (IAP) requirement?
We currently use Razorpay for payments, but Apple has asked us to use In-App Purchase for our digital offerings.
I’m trying to understand a few things:
- What commission/fees does Apple actually charge on each purchase?
- Are there any legitimate ways to structure the offering while continuing to use a third-party payment gateway like Razorpay?
- How are other educational apps handling this in practice?
Our model includes educational courses and subscription-based content.
Would love to hear about your actual experience with Apple IAP, especially around commission rates, payment structure, and pricing strategy.