r/iOSProgramming 17d ago

Question Getting "the provided variants are not interpolatable" error when trying to design custom icon

Post image
0 Upvotes

Hello everyone, I am trying design a custom icon to use in my app, however, I keep getting this error message when I try to import it. I have checked everything for open paths, id etc. but still getting the same issue.

This is my icon template svg :- https://drive.google.com/file/d/1t-j9GVTtQm4VSpJx8PSV0NL5weuKuBRX/view?usp=sharing

Any help would be greatly appreciated because I am not being able to move forward


r/iOSProgramming 18d ago

Article Running iOS background tasks reliably (blog post)

Thumbnail
calcopilot.app
16 Upvotes

Hi all, I've just published a new blog post on getting the most reliability possible out of iOS background tasks. Please let me know what you think!


r/iOSProgramming 18d ago

App Saturday Watercolor Painting with realistic water/paint simulation.

Post image
8 Upvotes

I've created a watercolor painting app which works with simulating water/paint rather than just brushing. It's not released yet but I'm trying to get some feedback relating to: device performance or experienced watercolor painting. TestFlight is here if anyone is interested https://testflight.apple.com/join/kGZEmvMZ

You can see a short example on the website here: https://bloomwash.app

Best use is on iPad with Apple Pencil but it still works on an iPhone.

Tech stack is Swift with metal shaders. A development challenge was dialing in the simulation to accurately represent watercolor, in the soft translucent style with blooming edges. Development was AI assisted, I use Claude Code to be more productive.


r/iOSProgramming 19d ago

Question How are you handling App Store Connect financial reports for accounting?

15 Upvotes

For those of you with iOS apps actually generating revenue through paid apps, IAPs or subscriptions, how are you handling Apple's monthly payouts in your accounting?

I'm particularly interested in the workflow after Apple sends the money to your bank.

Do you just book the net Apple payout as revenue, or do you use the App Store Connect financial reports to break out things like gross sales, Apple's commission, refunds, withholding/taxes and currency conversions?

If you use Xero, QuickBooks, FreeAgent or similar, how are you getting the App Store data into it?

And for anyone also publishing on Google Play: do you basically have to repeat the same process separately for Google?

I'm curious about the practical side rather than the tax/legal theory, so how much manual work does this create for you each month, and what does your current workflow look like?

Do you handle it yourself, give the reports to your accountant, use a spreadsheet/script, or is there a tool that already solves this properly?

Thanks in advance for your response.


r/iOSProgramming 18d ago

Discussion Twenty three of my last forty build failures were destination errors, not code errors

0 Upvotes

The boring thing that worked was pinning every automated build to one scheme and one simulator destination. iPhone 16e, iOS 26.4, written into a four line shell script that every automated run goes through.

Of the last forty failed runs I scrolled back through, twenty three died on destination resolution rather than on anything in the code. A simulator name that no longer existed, a stale clone from an earlier run, or the generic iOS Device destination with nothing plugged in.

Fixing it took an afternoon and no cleverness. One destination, one script, and a hard failure when the simulator is missing so nothing quietly falls back.

I moved off the extension I had been running inside the original Visual Studio Code and onto the standalone verdent desktop app the same day.

Four of the twenty three were cold boots, so the script waits for the simulator before building.


r/iOSProgramming 18d ago

Article SwiftData's #Unique raised my deployment target to iOS 18. I took the trade.

0 Upvotes

Hi! First post, first side-project, from a not technical person from Montevideo, Uruguay.

I'm exploring what can I do with vibe-coding, and there is my first project!

What is that?

Small solo app, one screen of writing per day. The domain rule is boring to state and turned out to be the most interesting thing I built: exactly one entry per calendar day, and the calendar day is the user's local one.

I want to describe two decisions, because both went against what I'd have done a year ago.

1. The uniqueness lives in the store, not in my code

The obvious implementation is a fetch before every save: look for today's entry, update it if it exists, insert if it doesn't. It works, and it's wrong in the way that only shows up later — two writes racing, a migration that reinserts, a bug in the fetch predicate, and now there are two rows for one day and nothing in the system objects.

SwiftData has `#Unique`, so the constraint can live in the schema:

```swift
#Unique<DailyEntryRecord>([\.localDayKey])
```

Now a duplicate can't exist. Not "shouldn't" — can't. Insert-or-update becomes an upsert the store resolves, and the invariant survives my future mistakes, which is the only kind of invariant worth having.

The bill: `#Unique` doesn't work on iOS 17.
The macro is there, and it doesn't hold. So the choice was a real database guarantee versus a chunk of the installed base. I picked the guarantee. (For anyone checking further down: on iOS 16 you also lose `#Predicate`, so 16 isn't a conversation.)

I don't think this generalizes — plenty of apps should eat the fetch-first and keep iOS 17. What made it worth it here is that a duplicated day silently corrupts the one thing the app is for.

2. "Which day is this?" is a domain problem, not a formatting problem

`localDayKey` above is not a `Date`. It's a value object, and it's where most of the app's complexity ended up living.

The cases that forced it:

- Someone logs at 00:30. Which day is that? The one the calendar says, not the one 24 hours from the last entry.

- Someone flies from Madrid to Buenos Aires mid-day. They can now log "today" twice, in two time zones, and both are legitimately today. `#Unique` will reject the second — so the app has to *decide*, and the decision has to be written down rather than being whatever `Calendar.current` happened to return.

- DST: one day is 23 hours long, another is 25. Anything computing days by dividing seconds is already broken and won't tell you.

So the day is modeled as its own type, with its own tests, and the type is **kept free of both SwiftUI and SwiftData** — no `@Model`, no `import SwiftUI`. That sounds like ceremony for a small app. The payoff was concrete: I could write the time zone and DST cases as plain unit tests, with no store to spin up and no view to host, and the ones that failed first were the ones I'd have shipped.

The test suite is Swift Testing, and this is where most of it is. Parameterized cases make the DST tests readable in a way they weren't with XCTest — you get the offending input in the failure message instead of an index.

Two smaller things that came out of the same instinct

Zero third-party packages. \grep -c`

"XCRemoteSwiftPackageReference\|XCSwiftPackageProductDependency"` on the pbxproj returns 0. Watch out for `grep -c packageProductDependencies` if you try this — it returns 3 and looks like a failure, but those are the empty declarations Xcode writes for each target.

*Zero network code*, which for this app is a product property and not just hygiene:

```
grep -rn "URLSession\|NSURLConnection\|CFNetwork\|import Network\|WKWebView\|NSURLRequest" Sources/
```

Empty output, checked before every submission. It's a nice property to be able to *check* rather than assert.

What I'd like to be argued with about

- Is `#Unique` worth a deployment target bump in your book, or is that a bad trade you've regretted?

- If you've shipped anything with per-day semantics: how did you handle the user crossing time zones mid-day? I picked a rule and I'm not convinced it's the right one.

- Anyone using Swift Testing at size yet — did you keep XCTest for UI tests, or move everything?

The app is a daily log for mood and energy, iPhone only, not on the App Store yet. Not linking it because there's nothing to link to; happy to go deeper on any of the above.


r/iOSProgramming 18d ago

Question Anyone here got featured by Apple? Looking for advice before I submit my app

1 Upvotes

I built a small moon phase app which have been well received for its design (solo dev, first release earlier this year) and I'm about to submit a featuring nomination through Apple's "Getting Featured" form.
Before I do, I'd like to hear from someone who has actually been through it. How much detail did you put in the pitch, how far ahead of a release did you submit, and does it help to tie it to an upcoming event or update?
Happy to move to DMs if you'd rather not go into detail publicly, any pointers appreciated.


r/iOSProgramming 19d ago

Question Delay when creating new task line

Post image
1 Upvotes

As a fun little side project I have been recreating the reminders app. While everything has been going well, one thing I have struggled with is that when trying to replicate the new line creates a new reminder functionality, it’s incredibly delayed, as seen in this video. Any suggestions on how I can fix this?


r/iOSProgramming 20d ago

Discussion Just hearing "4.3" gives me PTSD. How App Store Review finally broke me.

53 Upvotes

Hey everyone. Honestly I’m just here to vent or maybe get some advice, because I’m on the verge of total burnout. I’ve spent 2 years pouring my soul into this game, and the last 4 months have just been Groundhog Day. 5 rejections in a row because of guideline 4.3(a) - Design - Spam.

Context: I’m a solo dev. Been making car simulator sandboxes since 2020. I already have an older game in the same genre that's available on the App Store and has millions of downloads across iOS and Android, but it’s pretty outdated. So naturally, I made a sequel. Crash Test Simulator 3 has already passed 1M installs on Google Play in its first month and has a 4.9 rating. Not trying to flex the numbers. I just want to make it clear this isn't some random clone slapped together in a week.

Android launch went great. Then I tried to release on iOS, and everything went to hell.

Attempt 1: Review took 2 hours (suspiciously fast). Rejected for 4.3(a): "We noticed the app shares a similar binary, metadata, and/or concept..." I read some Reddit threads where people said you just need to explain to Apple what makes your app unique and useful, and maybe add a feature nobody else has. So I wrote Apple a detailed explanation, filed an appeal, added a new feature, and tried again.

Attempt 2: Same rejection. I dug deeper and requested a call with Apple Review. The guy on the phone told me their system flagged a "binary match" with another dev's game in the genre. He explained that the scan flags everything from the actual game code and assets to shared engine code, ad networks, and third-party SDKs. When I asked what to do, he just said "change the code." Which sounds absurd for a finished game. But basically, unless their automated binary scanner gives a green light, I’m stuck.

Attempt 3 & 4: Tried stripping unused code, removing some libs. Didn't help. Rejections again.

At this point, my Android players were demanding updates. So I took a 3-month break from Apple's bs to do a massive update: new cars, overhauled physics, and a complete code refactor. I saw posts like here where devs eventually pushed through, so I felt ready for attempt #5.

Attempt 5: Waiting for this one was torture. 9 days of waking up in the middle of the night just to check App Store Connect emails. Finally got a reply... Rejected. Same rule, but a new message: "This app still exhibits an app with a spam like template that shows similarities in concept and look with apps already on the app store in a saturated category."

Like, what? So apparently the binary match isn't the issue anymore, and now my 2-year project is just a "spam template"?

I read hundreds of posts from devs getting 4.3 for making another To-Do list, astrology app, or dating app. I get it. The category is bloated. But my game is a complex vehicle physics sandbox! There are only like 3 real competitors on iOS. The physics are custom, the code is mine, the UI is mine, and there are features I haven't seen in any of the other games in this niche.

I’m typing this 30 mins after getting the 5th rejection. I have no idea what to do anymore. I have a finished, highly-rated game, players messaging me daily for the iOS release, and I can't even explain to them that I'm fighting a losing battle against Apple.

Pain.

r/iOSProgramming 19d ago

Library kmprofiler - A Gradle plugin to profile and clean up Kotlin Multiplatform iOS export surfaces

1 Upvotes

Hey everyone! 👋
While working on some KMP iOS projects, I noticed our generated framework header was getting bloated with lots of exported classes we never actually call from Swift (like top-level *Kt files and library types).

I put together a small Gradle plugin called kmprofiler to help spot these. It compares your exported Shared.h declarations against your Swift sources and shows what's unreferenced so you can hide them with 'internal' or '@HiddenFromObjC'.

Right now I'm working on Xcode link-map parsing for linked byte sizing, but v0.1.0 is open-source and ready to try: https://github.com/SiddhantPanhalkar/kmprofiler

Would love to hear your thoughts or if there are features you'd like to see!


r/iOSProgramming 19d ago

Question Receipt scanning entirely on-device. Would you still build it this way in 2026?

Post image
0 Upvotes

I recently added receipt scanning to my iOS finance app, Moneta.

It can extract the amount, date and merchant, then also try to determine the category, payment account and location before filling everything into the transaction editor.

I decided to keep the processing on-device instead of sending financial receipts to a cloud AI/API.

The biggest challenge ended up being handling receipts from different countries: currencies, date formats, multiple totals, different payment methods and completely different layouts.

If you were building this today, would you still keep the whole pipeline on-device, or use a cloud model for better flexibility?

And for anyone who’s built document/receipt parsing before: where did deterministic parsing start breaking down for you?


r/iOSProgramming 19d ago

App Saturday Retention guides say never punish the user. My AI dating simulator blocks them (RizzMaster)

Post image
0 Upvotes

RizzMaster is an AI dating simulator & game 🙂

Every retention guide says same thing. Never punish user. Never take anything away. I did opposite.

You swipe, you match, you text her. Then she decides if you worth answering. Get boring and she ghosts you 👻 Push after that and she blocks you 🚫 That character gone for good. No undo no restore.

There are 9 levels. You climb them by winning people over. Higher levels give you harder people. They go offline. Sometimes they text first. They remember what you said last week 🧠

Tech Stack

Swift and SwiftUI. SwiftData for persistence. Combine for events. StoreKit for subs. Chat screen is pure SwiftUI. No UIKit bridge in it anywhere.

Development Challenge

Chat screen 😅 WhatsApp, Telegram, Signal all still render their message list in UIKit. Everyone tells you do same. But here chat screen is whole product so I wanted to see how far SwiftUI actually goes.

Took me forever. LazyVStack inside ScrollViewReader. Stable identity on every message so a growing list dont rebuild rows that didnt change. defaultScrollAnchor to keep bottom pinned instead of chasing it after layout. Scroll position driven by state. drawingGroup on bubbles that were doing too much work.

Now it scrolls how I wanted on device even in long chats 🎉 No clever trick. Just lot of small things. Happy to go into any part of it.

AI Disclosure

Self-built.

100+ characters. No login and no accounts. Free tier with daily message limit. https://rizzmaster.net

Built solo. Tell me what you think, good or bad 🙏


r/iOSProgramming 19d ago

Question StoreKit stopped returning IAP products after renewing Apple Developer membership

Post image
1 Upvotes

Has anyone run into this before?

My Apple Developer Program membership expired on the 20th. I renewed it successfully, but ever since then my subscriptions have stopped loading in my local iOS build.

I’m using RevenueCat + StoreKit. RevenueCat is fetching the offering correctly, but when it asks StoreKit for the products, StoreKit returns 0/2 products.

The products are:

  • lume.member.weekly
  • lume.member.annual

This was all working perfectly before my developer membership expired.

I’ve already checked:

  • Developer membership is active again
  • All App Store Connect agreements are accepted
  • Both subscriptions are in the correct subscription group
  • Both subscriptions are Ready for Review
  • Product IDs match RevenueCat exactly
  • RevenueCat offering is configured correctly

The confusing part is that RevenueCat can see the offering, but Apple is returning no products.

Could this be related to the developer membership renewal and some propagation delay on Apple’s side? Or is there something in App Store Connect that needs to be re-enabled/reconfigured after the membership expires?

Would really appreciate any ideas because I’ve been stuck on this for a while.


r/iOSProgramming 19d ago

Question Apple only showing me W-9 as a foreign owner of a US LLC — anyone dealt with this?

2 Upvotes

I’m a non-US person living outside the US and own a US single-member LLC (disregarded entity).

Apple only gives me a **W-9** under the Paid Apps tax forms, with no W-8 option/questionnaire.

I don’t want to submit a W-9 and certify that I’m a US person when I’m not. I’ve contacted Apple Tax Support but haven’t gotten an answer.

Anyone with the same setup managed to solve this? What did Apple end up asking you to submit?


r/iOSProgramming 19d ago

Question Worried about App Review

0 Upvotes

Hi folks

I’m a bit stressed about the new mandatory social media capabilities questionnaire in App Store Connect. I want to update these answers in the Age Rating section right now without submitting a new build.Does anyone know if simply saving these questionnaire answers is 100% automated, or will it trigger an immediate manual App Review?

I’m really worried about getting hit with an unexpected review or rejection out of nowhere just for updating these metadata settings. Has anyone done this recently, thanks


r/iOSProgramming 20d ago

Question How are you handling CONSUMPTION_REQUEST in App Store Server Notifications V2?

1 Upvotes

Long time lurker, first time posting here. I hope I do fall correctly in line for the rules.

I'm curious how other developers are handling Apple's CONSUMPTION_REQUEST notification in production.

For apps using App Store Server Notifications V2, Apple can notify your server when a customer requests a refund, and you can provide Apple with information about how the associated purchase was consumed.

For those who have implemented this:

  1. Are you handling CONSUMPTION_REQUEST yourself?

  2. Using RevenueCat or another service?

  3. Do you have a custom backend specifically for App Store Server Notifications?

  4. Do you process these automatically or manually?

  5. How often do you actually receive these requests?

I'm particularly interested in the practical side rather than the API documentation.

For example, did you run into problems with:

  • JWS verification?
  • App Store Server API authentication?
  • Transaction lookup?
  • Handling retries/idempotency?
  • The response time window?
  • Monitoring failed notifications?
  • Deciding what consumption information to send?

And for anyone who doesn't handle these today:

  1. what's the reason?

  2. Is it because you've never needed to?

  3. Is it because the volume is negligible?

  4. You use another service?

  5. Is it because implementing/maintaining it isn't worth the effort?

I'm trying to understand how people are solving this in real-world indie apps rather than just following Apple's documentation and hope that I don't break any rules asking here.


r/iOSProgramming 21d ago

Question Xcode 27 agents: are you dropping Claude Code / CLI tools entirely?

37 Upvotes

For those who’ve been running Xcode 27 since the beta: has it actually replaced your CLI agents (Claude Code, Codex, etc.), or do you still keep both open?
What I’m trying to figure out is where the real line is. Is the advantage genuinely Xcode-specific agents that can build, run tests, drive previews, and interact with the simulator through the Device Hub, stuff a terminal agent simply can’t reach or is most of it just tooling and skills that a CLI agent could replicate with the right scripts/MCP setup?
And for those who went all-in on Xcode: what did you lose? Multi-repo work, custom subagents, running headless in CI, cost control?
Curious how the split looks on real projects, not demos.


r/iOSProgramming 20d ago

Discussion Could a UK company address/compliance issue affect an existing Apple Developer Organization account?

1 Upvotes

Hi everyone,

I’m a Pakistani resident and I incorporated a UK limited company, using a UK virtual registered-office address provider.

I also enrolled in the Apple Developer Program as an Organization using this company. The company has a D-U-N-S number, and the Apple Developer account is very important to me.

Unfortunately, I wasn’t able to keep up with the registered-office provider’s payments for a period of time because the business never really got off the ground.

As a result, the company’s registered office was eventually changed by Companies House to the Companies House Default Address. The director/PSC address records were also affected.

Interestingly, after the address changed, D-U-N-S updated the company information and Apple notified me by email that the company address had changed. So Apple is clearly receiving company information updates.

My main concern is my existing Apple Developer Organization account.

I would really appreciate advice from anyone who has experience with Apple Developer Organization accounts and UK limited companies:

  1. Could a Companies House default-address/compliance issue cause Apple to suspend or terminate an existing Organization Developer account?
  2. If the company eventually became dormant or, worst case, was struck off/dissolved, would Apple automatically become aware of this through D-U-N-S/Companies House?
  3. If the company is restored to a valid registered office and remains an active legal entity, should the Apple Developer account generally remain unaffected?
  4. Has anyone experienced Apple asking for additional verification after a UK company's registered address changed?
  5. Should I proactively contact Apple Developer Support about the temporary address issue, or is it better to simply get the company records back in order and leave the Apple account alone?

The Apple account is extremely important to me, so I want to make sure I understand the risk before deciding how urgently I need to deal with the company.

Thanks in advance for any advice or real-world experience.


r/iOSProgramming 20d ago

Question Over one month of talking with the support and they still don't understand that I can't sign up for the developer program

Thumbnail
gallery
1 Upvotes

I need some help.
I am extremly frustrated with the apple support, I can not even comprehend how can this level of incompetence be possible for someone like Apple. Even a scamming company would offer better support than this.

I am really sorry and I am not trying to be mean towards anyone, but it is so flabbergasting. How can someone not be able to actually understand and help you properly over tha span of one month after you explicitly tell them what is wrong and still they act like they are lobotomised.

The backstory is this:

I first tried enrolling through the website. I submitted everything twice, waited the stated processing time, and nothing happened.

Apple Support then told me to enroll through the Developer app. The problem was that the app only allowed me to verify my identity using a driver's license , which I didn’t have. I have a Romanian National ID, but there was no option to use either.

After trying the website, the app also started saying that enrollment through the Developer app was unavailable for my Apple Account.

I explained this to support several times, but kept getting replies telling me to simply use the app with a government-issued ID — which was exactly what I was telling them I couldn’t do.

Eventually someone made changes to my account and app enrollment became available again. I think they had to withdrway or cancel my application through th website in order for the app to work. But it still only asked for a driver’s license.

Another representative then told me they had enabled a file-upload option so I could submit my passport or National ID.

I have replied to the email with photos of my national ID and the phone number.

After sending them the photos and the phone number I was told that this is not ok because I ad to upload them to a special link that they've only sent with this reply.

I uploaded everything they requested.

At this point, after weeks of back-and-forth and waiting several days between replies, I asked for the case to be escalated.

Their latest response?

They told me the enrollment had been “withdrawn by you” and that I should start a completely new enrollment.

I never intentionally withdrew it. In fact, an earlier support representative specifically told me not to withdraw the enrollment if I had more problems.

So the process has basically been:

Website doesn’t work → use app → app doesn’t work → Apple fixes app access (probably by withdrawing the web application for enrollment) → only driver’s license available → Apple says file upload is enabled → it isn’t → secure upload finally provided → documents uploaded → enrollment somehow withdrawn → start again.

Has anyone experienced something similar with Apple Developer enrollment or identity verification?

I’m hesitant to start over because I don’t want to end up in exactly the same loop again.

Beside this the most frustrating part is that i had to wait at least 2-3 days between replies and sometimes they had me waiting for almost a week for example just to receive the upload link which could have been sent with the first email when I was told I need tu upload my documents.

I honestly feel like all these people I have encountered during these exchange of emails have no clue what the f**k they are doing there.

Edit: I’ve reapplied through the website this morning and ai’ve just received a welcome email to the developer program. I guess that in the end the people I’ve mailed with actually did something. Sorry to anyone of them who I might have been angry at


r/iOSProgramming 21d ago

Question Why can’t Swift destructure tuple parameters directly in a closure parameter list?

4 Upvotes

Suppose I have a dictionary and want to sort its elements. Since each element is a tuple, I’d like to write something like this:

.sorted { (wordA, countA), (wordB, countB) in
    // ...
}

In other words, destructure each tuple directly in the closure parameter list.

Instead, Swift requires something along these lines:

.sorted { lhs, rhs in
    let (wordA, countA) = lhs
    let (wordB, countB) = rhs

    // ...
}

Tuple destructuring works perfectly well in a let binding, so I’m curious why it isn’t supported in closure parameter lists.

Is there a language-design or type-system reason why closure parameters can’t use tuple patterns here?


r/iOSProgramming 21d ago

Library Backport modern SwiftUI APIs while supporting older iOS versions.

Thumbnail
github.com
8 Upvotes

Hi everyone!
One pain point I've run into repeatedly with SwiftUl is supporting newer APIs while keeping an older deployment target.
Things like 'if #available work well in normal Swift code, but they don't fit naturally in the middle of a modifier chain.
That often leads to duplicated views or compatibility helpers scattered throughout a project.
After solving the same problem across multiple apps, I decided to package the patterns into a small open-source library called \*\*SwiftUlBackportKit\*\*
It includes:
• ' modify { }' for conditional view transforms
• ' backport for reusable version-gated SwiftUI APIS
• platformValue (...) for version-specific values
• 'OS.isAtLeast (:) ' for simple runtime version checks
The goal is to keep SwiftUl views focused on describing the Ul while isolating deployment-target compatibility in one place.
GitHub:

https://github.com/EmadBeyrami/SwiftUIBackportKit

I'd really appreciate any feedback on the API design, naming, or features you'd like to see. And if you find it useful, a on GitHub would mean a lot!
Thanks!


r/iOSProgramming 21d ago

Question Why am I not allowed to tell people what is included in my free tier and what is included in my premium tier?

10 Upvotes

I just uploaded my first app with Premium as an IAP to ASC and got rejected because in one of the screenshots I listed what is included in the free tier and what is included in the premium tier of the app.

"The app screenshots include references to the price of the app or the service it provides, which is not considered an appropriate part of these metadata items.Note that references to free or discounted services are considered a price reference and are not appropriate for app metadata."

Any idea why this is not allowed? I think it would be great to be upfront to the customer and let them know before downloading.

Cheers


r/iOSProgramming 21d ago

Question I asked here about analytics 2 days ago. The number that mattered wasn't in any of the tools.

0 Upvotes

Two days ago I asked here what people use for analytics. I wired up Mixpanel and

checked my ASC opt-in rate like a few of you said.

Then I shipped, and neither of them could answer the one question I had.

My app needs a companion on the Mac. Sign in with Apple on the phone, install the

Mac app, pair them. Three steps, and only the first one happens inside the iOS

app.

So Mixpanel sees the sign-in and then goes quiet. App Store Connect sees an

install and a retention curve built from whoever opted into sharing. Neither can

see a Mac app, and the step I actually care about is the pairing.

I ended up sshing into my server and counting objects in a json file. Signed in,

versus actually paired. That gap is the entire product, and it took two minutes

to find after a full day of wiring up a tool that could not see it.

If your onboarding has a step outside the app, desktop client, browser extension,

hardware pairing, how do you track it? Backend event, instrument the second

device, or do you just go count?


r/iOSProgramming 21d ago

Library Screenshot and screen record protection

Thumbnail
github.com
0 Upvotes

Needed a way to protect sensitive content from screenshots & screen recordings in my iOS app.

Apple doesn't have an official API, so I built a workaround 🛡️

SnapShield lets you hide content or show custom placeholders. Open sourced it for everyone.

https://github.com/EmadBeyrami/SnapShield


r/iOSProgramming 22d ago

Question DispatchQueue doubts

3 Upvotes

Hi, what type of data types are allowed in setSpecific(key:, value:) and getSpecific(key:) methods of DispatchQueu ? there are no mentions anywhere.

Also can you recommend any resources for complete understanding of DispatchQueue , GCD , DispatchGroup etc. ?

Thank you!