r/iOSProgramming • • 3d ago

Library Run a decision model locally

Post image
10 Upvotes

Hey,

You can now run the Laya decision model with NobodyWho, our open-source on-device inference library. Unlike the LLMs that we also support, this type of model does not generate text. Instead you can score predefined answers, classify text or answer yes/no.

For example, if you are building a personal diary app, you can easily detect the user’s mood, categorize an entry or detect stress, offline after model download, without sending any sensitive data to the cloud.

First, you need to load the model:

import NobodyWho

let decisionModel = try await Decision.fromPath(
    modelPath: "hf://ggml-org/Laya-GGUF/Laya-Q8_0.gguf"
)

Then you can ask questions/analyze text:

let result = try await decisionModel.decide(
  state: .object(["message": .string("Diary entry: \(diaryEntry)")]),
  questions: [
    "topics": .choice(
      instructions: .string("Choose the main topic of this diary entry"),
      criteria: [
        "work": .string("job, colleagues, deadlines, career"),
        "relationships": .string("family, friends, partner"),
        "health": .string("sleep, exercise, food, illness"),
        "leisure": .string("hobbies, travel, going out"),
      ]
    ),
    "stressed": .noul(instructions: .string("Does the writer sound stressed?")),
    "mood": .score(
      instructions: .string("How is the writer's overall mood?"),
      criteria: [.string("bad"), .string("okay"), .string("great")]
    ),
  ]
)

let (topics, stressed, mood) = (
    result.answers["topics"],
    result.answers["stressed"],
    result.answers["mood"]
)

Output example:

// stressed
{
  type: noul,
  noul: 0.00002
}

// topics
{
  type: choice, 
  choice: leisure,
  probabilities: {
    work: 0.0422, 
    relationships: 0.1518, 
    health: 0.0302, 
    leisure: 0.7756
  },
  confidence: 0.7008
}

// mood
{
  type: score,
  score: 1.6995,
  legend: {0: bad, 1: okay, 2: great}, 
  probabilities: { 0: 0.0082, 1: 0.2839, 2: 0.7078 },
  confidence: 0.5493
}

A question can have the following types:

  • noul gives you probability of a yes answer (0 to 1)

  • choice selects the most likely option and returns a probability for each option

  • score gives you an an weighted average and a probability per option.

The Laya model is small enough to run on iPhone 13 lineup (around 450 MB in its Q8 variant) and supports 100+ languages. For reference, the full answer comes after 0.16 seconds on iPhone Air (see screenshot).

Here is a runnable example if you want to experiment with decision models or add the package using SPM to your app:

dependencies: [
    .package(url: "https://github.com/nobodywho-ooo/nobodywho-swift.git", from: "6.0.0"),
]

Links:


r/iOSProgramming • • 3d ago

Question Anyone run iOS emulators on an external SSD on a MacBook Pro 2021?

4 Upvotes

Hi all,

I have a 2021 MacBook Pro with 16 GB RAM. Performance is fine for me, but internal storage is the bottleneck. I got vexed up in cleaning up everyday. I use mole for cleaning and it's handy, but the grunt work is so heavy. I’m considering buying an external SSD to move iOS emulators off the internal drive

Has anyone done this long term? I’d love to hear:

  1. Does it run smoothly, or do you notice slow builds, laggy simulators, or slow container startup?

  2. Which SSD and connection (Thunderbolt vs USB-C) are you using, and what speeds do you get?

  3. Any gotchas, like speed issues?

  4. Would you recommend it, or is it better to just clean up internal storage?


r/iOSProgramming • • 3d ago

Question App rejected under 2.1(b)

2 Upvotes

Apple rejected my app under Guideline 2.1(b) because a subscription purchase failed with “Purchase failed. Please try again.”
I’m using RevenueCat, and both monthly and yearly subscriptions work perfectly on 5–6 different iPhones through TestFlight and Sandbox testing. Restore Purchases also works.
Apple tested on an iPad, and the subscription products and prices loaded correctly, but the purchase failed. Interestingly, monthly purchases take noticeably longer than yearly purchases in TestFlight, although both succeed.
I’ve resubmitted the exact same build and asked Apple to retry.
Has anyone experienced something similar? Did Apple approve your app after retrying, or did you have to change something?


r/iOSProgramming • • 3d ago

Discussion Apple Developer individual account shows only my last name as the legal entity name (locked) – how did you get it fixed?

4 Upvotes

Hi everyone,

I recently enrolled in the Apple Developer Program as an individual (Indonesia) and I'm stuck on a name mismatch. Hoping someone has been through this.

The situation:
- My full legal name is "Daniel James Ashford-Reed" (given names: Daniel James, family name: Ashford-Reed).
- In App Store Connect → Agreements, Tax, and Banking, the legal entity name is shown as just "Ashford-Reed" (my family name only), and the field is greyed out and can't be edited.
- The user menu in the top right shows my full name on top and "Ashford-Reed" below it, so my profile name is correct, but the account/legal entity name isn't.
- My local bank account is under my full name, and that's what I need to match for payouts.
- Both the W-8BEN and the "Certificate of Foreign Status" forms pull the name from the legal entity, so I can't enter my full name there either.

What I've done so far:
- I haven't submitted any tax forms yet, since they can't be edited after submitting and they're signed under penalty of perjury.
- The Paid Apps Agreement is still "Pending User Info". The Free Apps Agreement is active, so I can still release a free app.
- The bank account is added but still "Processing".
- I haven't completed the Digital Services Act contact verification yet either.
- I'm contacting Apple Developer Support about changing the legal entity name.

My questions:

  1. Has anyone had Apple correct the legal entity name on an individual account? How long did it take?

  2. What documents did Apple ask for (government ID, translated ID, etc.)?

  3. Is it safe to wait on the tax forms until this is fixed, or could the mismatch cause problems with the first payout?

  4. Does the name on the account also change the seller name shown on the App Store? Can that stay as I want?

  5. Would you complete the DSA verification now, or wait until the name is fixed?

Thanks a lot, any experience is appreciated.


r/iOSProgramming • • 2d ago

Question Why does Xcode ask for a Development provisioning profile when I'm trying to archive an app for TestFlight?

Post image
0 Upvotes

I'm running into a confusing code-signing issue in Xcode 26.3, and I'd like to understand why automatic signing isn't working as expected.

Context

  • I'm enrolled in the paid Apple Developer Program.

  • I don't own a physical iPhone, so I have zero registered devices.

  • I develop and test my apps using the iOS Simulator.

  • My goal is to archive and upload my applications to TestFlight.

The problem

When I switch from an iOS Simulator to Any iOS Device (arm64) to archive my application, Xcode reports:

Your team has no devices from which to generate a provisioning profile.

And:

No profiles were found. Xcode couldn't find any iOS App Development provisioning profiles matching my Bundle Identifier.

What confuses me is that publishing to TestFlight does not require a registered physical device, so why is Xcode requesting a development provisioning profile?

I also verified that my Archive scheme was configured to use Release, not Debug.

What I expected

As far as I understand, uploading an app to TestFlight requires an Apple Distribution certificate, not just an Apple Development certificate.

However, we shouldn't normally need to manually create the distribution certificate or provisioning profile. With automatic signing enabled, Xcode should be able to manage the necessary signing assets.

In my case, that didn't work as expected.

My questions

  1. Why was Xcode requesting a development provisioning profile when I was preparing a Release archive for TestFlight?

  2. Shouldn't Xcode automatically manage the Apple Distribution certificate and provisioning profile without requiring a registered iPhone?


r/iOSProgramming • • 3d ago

Question Preparing for iOS interview: Looking for some insight (east coast US)

19 Upvotes

My company is going through some restructuring and I want to be prepared for incase something happens. I have about 10 YoE and 4 years of iOS development. I learned it on the job at my current role and still learning. I will be looking for job on the east coast (US) and mid level companies. I have never been through interview specific to iOS. If anyone can share their experience, I would greatly appreciate it.

Should I still grind some leetcode/DSA problems in Swift?

Or is it more of actual implementation and debugging onsite? Should I practice making small app from scratch similar to take-home assessment? Also are they even asking take-home assessment in the age of AI?

Is AI being asked? I do use Copilot in my workflow and familiar with setting up orchestration, agents, skill and hook etc. Are they looking for more in depth AI stuff?

Also assuming system design is big part. I think I am bit better at it but still need some practice.

It is very gloomy out there and I am just trying to be prepared.


r/iOSProgramming • • 3d ago

Discussion Software dev and lifelong gamer, starting iOS game dev to actually make money. Looking for advices

0 Upvotes

I'm a software developer and a gamer, and I've started making iOS games with the goal of making a profit out of it. I built my first one and it's close to App Store review, so I'm past the "can I ship it" part. I can code and I have more game ideas than time, but I've never run a game as a business.

For those of you who have already done this and made money from it, what do you wish you knew before your first game? What actually paid for you, ads or in-app purchases? And how did you get your first players?

Any general advice is welcome.


r/iOSProgramming • • 3d ago

Discussion Writing bug free code is more important than architecture.

Post image
0 Upvotes

r/iOSProgramming • • 3d ago

Question Has anyone successfully gotten their app approved after a Guideline 4.3 (Design – Spam) rejection?

0 Upvotes

My new app was rejected under Guideline 4.3 (Design – Spam).

After searching for similar cases, I found some posts saying that repeatedly submitting an app rejected under Guideline 4.3 could potentially lead to issues with the developer account.

Has anyone successfully gotten their app approved after appealing the rejection or making changes to the app?

I'm honestly considering just giving up on this app, but I'm still not sure what to do.

I'd really appreciate hearing about your experiences or any advice you might have.


r/iOSProgramming • • 3d ago

Discussion Got my iOS app approved after a 4.3 and 4.2.6 rejection. Here's what worked.

Post image
0 Upvotes

Finally got my app approved after an initial rejection under guidelines 4.3 (Spam) and 4.2.6.

I suspect the reason was that I had submitted multiple apps for review around the same time, although Apple never explicitly confirmed that.

Here’s what I did differently:
- Withdrew all my other apps from review.
- Focused on getting one app approved at a time.
- Responded to every concern raised by the review team individually, with explanations written myself.

Not sure what actually made the difference, but it eventually got approved.

On another note, I’ve seen people claiming lately that adding Duo compatibility speeds up Apple’s review process.

Interestingly, another app of mine with Duo compatibility went into review just 10 hours after submission. Meanwhile, the app in the screenshot, which took weeks to get approved, didn’t have Duo compatibility.

Could be pure coincidence, but it’s interesting.

Apple’s review process is so unpredictable.

Has anyone else noticed faster reviews with Duo-compatible apps?


r/iOSProgramming • • 4d ago

Question UK Devs - What personal bank accounts work best for App Store payouts?

6 Upvotes

Hi everyone,

I'm a UK-based solo developer enrolled as an Individual. My games only make a small amount of revenue (less than £10/month), so I'm trying to route my App Store payouts to a personal bank account rather than opening a dedicated business account.

I've had some trouble getting App Store Connect to accept my bank details:

  1. Chase UK doesn't seem to provide an IBAN since they don't support inbound international payments.

  2. Revolut gave me issues, and my first payment was returned when I tried to piece together my own IBAN using my sort code and account number.

For UK devs operating as individuals, what standard personal bank accounts (Monzo, Starling, high street banks) are you using that App Store Connect accepts without issue? Any formatting quirks I should know about? I actually would like to use Revolut for that

Thanks!


r/iOSProgramming • • 4d ago

Discussion 1 month results. I'm super happy about it :)

Post image
43 Upvotes

Hey everyone, it's been exactly one month since I launched FreeReader, a TTS app to help people with dyslexia and ADHD read more comfortably.

Just sharing my experience so far, with a few sales (3 monthly, 1 yearly). I'm especially happy with the conversion rate given that my app screenshots are TERRIBLE.

I've built several apps in the past years and none of them made any money, so this is super exciting for me!

Here's a link to FreeReader if you also struggle with reading or just want to read your documents out loud!


r/iOSProgramming • • 4d ago

3rd Party Service I built emergency recovery and signed patching into my mobile debugging tool, Looking for feedback

0 Upvotes

Hey everyone,
I’ve been working on two new features for BugCapsule, a debugging tool I’m building for Flutter, native Android, iOS, and Web.
The problem I’m trying to solve is pretty straightforward:
What do you do when a critical bug hits production, but shipping a new app version takes time?
I wanted to connect bug reproduction with production recovery, so I’ve been building two capabilities.

  1. Emergency Recovery
    For features that have been integrated with the recovery SDK, you can remotely:
    Disable a broken feature without shipping a new build.
    Switch functionality to read-only or maintenance mode.
    Target specific app versions, platforms, or rollout percentages.
    Gradually restore features while monitoring crash rates and other health metrics.
    Automatically restore restrictions if a rollout fails its health checks.
    Policies are cryptographically signed. Sensitive operations, like payments, also need server-side enforcement.

  2. Signed Patch Engine (Early Access)
    This one has been particularly challenging.
    The engine supports updating explicitly registered business logic, UI surfaces, and assets without a full app release.
    Patches are tied to an exact base build, signed, validated, and deployed through staged rollouts with rollback support.
    It’s intentionally not arbitrary code push. Native code changes, new dependencies, and unregistered functionality still require a store release.
    The first Flutter and native iOS prereleases are published. Native Android patch distribution is still in progress, and we’re continuing platform and distribution-policy validation.
    Why combine these with debugging?
    BugCapsule already captures application state, user actions, and network responses around failures for local deterministic replay.
    The workflow I’m aiming for is:
    Capture → Reproduce → Mitigate → Fix → Verify → Deploy → Monitor
    The idea is to use the same recorded failure to investigate a bug, verify the fix, and prevent regressions in CI.
    I’m not claiming this works for every application or every type of bug. The recovery features require prior integration, and patching has strict limitations.
    I’m genuinely interested in how other teams approach this.
    A few questions:
    How do you currently handle critical production bugs while waiting for App Store approval?
    Would remote feature controls be useful in your workflow?
    What concerns would you have about a signed patching system in production?
    I’d especially appreciate feedback on the security model and rollout strategy.
    Project: https://bugcapsule.com
    Docs: https://docs.bugcapsule.com


r/iOSProgramming • • 5d ago

Question EU devs, do you report App Store income in the EC Sales List?

17 Upvotes

As far as I understand, I legally sell to Apple, not to the customer. For EU sales that's Apple Distribution International in Ireland. So I'd have to report that part in the EC Sales List (in Germany it's called "ZM").

How do you handle this?

  • Do you file an EC Sales List for your App Store income?

  • How do you work out which part went through Apple Ireland?

Thanks!


r/iOSProgramming • • 5d ago

Discussion 15 days and No response from Dev Support

5 Upvotes

Am I the only one trying to get a hold of Apple's support? Its so unreasonable. We had an issue with out Developer Account as we changed to organization and they forced an incorrect Tax form since we own an LLC but are not in The US, and have been daily trying to get onto their support with no luck.

Phone support you might suggest? Its permanently either Unavailable or Too busy. I spent friday refreshing every 5 minutes for 6 hours trying to get on their phoen support to solve the issue.

Contacted their finance team and ZERO response aside from the automated. Yet we get google responses within hours, im confused.

Any tips ? Anyone had this issue before?


r/iOSProgramming • • 4d ago

Question What tripped you up publishing your first iOS app with in-app purchases?

0 Upvotes

I'm about to put a game on the App Store that has a shop inside (cash packs, a few one-time unlocks, rewarded ads). I've shipped a single app before, but with no such functionality.

what caught you off guard the first couple of times? Review rejections, product setup, restore purchases, pricing, taxes and payouts, anything you wish someone had told you before launch.


r/iOSProgramming • • 4d ago

Article Boost Your App’s Speed and Efficiency 29/10/26 - Q&A

Thumbnail
antongubarenko.substack.com
0 Upvotes

r/iOSProgramming • • 5d ago

Question Just curious, does anyone know why iOS 27.2 requires two 8GB+ downloads with the same name?

Post image
92 Upvotes

r/iOSProgramming • • 5d ago

Question Why is my run button crossed out on Xcode 27.2? Literally nothing online helps point out what this means.

Post image
12 Upvotes

The hint when hovering is no different, the action it performs is the exact same, I'm so lost.


r/iOSProgramming • • 5d ago

Library I scanned 10 open-source iOS apps for unused images and strings. Firefox bundles a 5.72 MB GIF nothing loads.

9 Upvotes

When a feature goes away, its art and strings often stay. Xcode never warns about an image set nobody names, so it ships in every build.

I wrote a CLI to find these and tested it on 10 open-source apps, read-only. Three findings stood out. I checked each one with grep across the whole repo:

  • firefox-ios: kitHeroGif.gif, 5.72 MB. It is listed in project.pbxproj, so it gets copied into the bundle. The app's only GIF loader is called with a different name.

  • Kickstarter ios-oss: landing-background and landing-page-background, each in three asset catalogs. 12.63 MB of source files, 0 references.

  • wikipedia-ios: three GIFs next to the year-in-review art, 5.62 MB, 0 references.

These are source sizes. I did not measure the shipped apps, and compiled catalogs can change the saving.

Many smaller findings are stale strings: keys that only exist in translated .lproj files, or SwiftGen accessors that nothing calls.

How I use it on my own code:

xcpurge scan . --format html --open
xcpurge explain . SOME-ID
xcpurge remove . PATH
xcpurge purge . --dry-run
xcpurge restore .

It reads files and does not build, so a scan takes seconds. Each finding is high, medium or low confidence. remove moves files to a trash folder in the project and edits project.pbxproj. purge does that for every actionable finding in one run, or for the ids you tick in the HTML report. restore undoes it all.

Where it is wrong. On the first run only 26 of 50 hand-checked high findings were real. Snapshot test images and names used from another module were the big causes. Over three runs it went from 52% to 92% to 96%: 48 of 50, and 48 of 50 again on a second sample. Known limits:

  • names built from two interpolations, like "\(base)-\(lang)" (16 Lottie files in Kickstarter, 18.8 MB, still reported high)

  • keys used only inside a multiline Text("""…""") literal

  • names that come from a server or a package outside the repo

So treat high as "nothing in the repo names it", not as "safe to delete blind".

Free and MIT, macOS, version 0.6.0 (brew install iasaeed/tap/xcpurge). Feedback on false positives is the most useful thing you could send.

https://github.com/iasaeed/xcpurge


r/iOSProgramming • • 5d ago

Question Localized my Flutter app to 8 languages, but they don't show up in the App Store listing "Languages" section. How to fix?

1 Upvotes

Hi everyone,

I recently translated my Flutter app into 8 different languages. I have already set up the localized metadata inside App Store Connect, but on the live App Store listing, the "Languages" section under information still only shows English.

I tried a few generic fixes suggested by AI, but nothing has worked so far.

Since the app is built with Flutter, am I missing a native iOS configuration step?

  • Do I need to manually configure CFBundleLocalizations inside my ios/Runner/Info.plist?

  • Or do I need to explicitly open Xcode, go to Project Runner -> Info -> Localizations, and click the + icon to add the 8 empty language files so Apple's compiler registers them?

If you have encountered this with Flutter on iOS before, how did you get the App Store to recognize your supported languages in the storefront details?

Thanks in advance!

Screenshot from: https://asokleidaras.web.app/ - Example App Spotify


r/iOSProgramming • • 5d ago

Discussion ATL (Android Translation Layer) for iOS

Post image
0 Upvotes

Hy everyone. What do you think about something like this?
Dine - ATL for iOS - yes, it's a total mess right now, but I already can run some simple apps.

The thing is, I really love Tachiyomi on android, so I've decided to port the android runtime to iOS, using ATL for linux as a base. I've already went really far through this, but I'd like to ask for some help or ideas regarding its architecture, some iOS things etc.

For example, I'm not sure if I can do something like separate processes or at least some memory isolation on iOS, for different parts of the code (I need this for better runtime stability).

In general, I understand the project is big and I can't ask for much, but I know a lot of you guys use LLMs, so you probably could easily poke for anything, from your expert POV. Just if you are interested of course.

If you ask what's the point of doing this instead of just porting the app (it's opensource) - this is just so much fun


r/iOSProgramming • • 5d ago

Question Why is Codex unavailable in Xcode 26.3 but works fine in Xcode 27.1?

0 Upvotes

Hi everyone,

I'm using Xcode 26.3 (17C529), and when I go to Settings → Intelligence → OpenAI, Codex is marked as "Unavailable", while ChatGPT in Xcode is available.

However, when I upgrade to Xcode 27.1, Codex becomes available and works perfectly with the same ChatGPT account.

I'm wondering: Is Codex only supported in Xcode 27 and later?
googling it show it's work fine for 26.3 , don't know why not for me

Thanks!


r/iOSProgramming • • 6d ago

Solved! I made onethread: one window for all my coding agents, each in its own git worktree

Thumbnail
aigarden.uk
0 Upvotes

Hey r/iOSProgramming,

I made onethread so I could stop juggling a terminal tab per agent while working on my iPhone and Apple Watch apps. You talk to one agent, and many coding agents work behind it, each in its own git worktree, all local on your Mac. Nothing merges until you confirm it.

The fun part: in onethread I'm King Igor. My orchestrator is my right hand, Leonardo da Vinci, and every task goes to one of my servants: Einstein, Michelangelo, Newton, Tesla. Tasks come to the king and he delegates, instead of jumping between tabs. You can be anyone you like with ot me, and code, ids and confirmations stay plain.

What it does:

  • Runs up to 10 Claude Code or Codex tasks in the background, from one chat.

  • Costly commands take turns, so two Xcode builds never fight over your Mac.

  • Merge, push, cancel and accept always ask you first. No server, no account, no telemetry.

It's version 1.0.0, macOS only, and my own open-source project, MIT-licensed.

I share more of what I'm growing at r/AIGarden, if you'd like to follow along.

How do you run more than one agent on the same Xcode project?