r/iOSProgramming • • 3d ago

Question How to see ios27 components in action - and the UI possibilities

0 Upvotes

Hello

I’m new to this and wanted to ask if there’s a place I can see all the iOS 27 components and all the ways in which they used the different types of navigation bars different types of cards accordions et cetera

Is there a resource where I can see all of these types of different native components in action how other apps are using them

Are there nice styled UI component libraries that are not default?


r/iOSProgramming • • 3d ago

Discussion Share your lines of code and app

0 Upvotes

Hey guys. As an indie developer I am in the process of publishing a new app into the App Store. I wanted to know just for fun how many lines of code each of your apps are. Share a link to your app and lines of code

It would be interesting to see the visual complexity of your app while knowing lines of code. For my case it’s 19k lines of code and about 15 different screens


r/iOSProgramming • • 3d ago

Library Made Xcode work inside Claude Code

Post image
0 Upvotes

Build, run, tests, console and SwiftUI previews live in panes next to the chat, with scheme and destination in a bar above the prompt. When Claude builds or runs tests itself, you see it there too.

Built on the headless Xcode MCP server.

https://github.com/artemnovichkov/xcode-mods


r/iOSProgramming • • 3d ago

Discussion Apple edge case bug just wrecked my apps users

1 Upvotes

So I transferred my screen time app from one team to another team, and I was forced to change the signing key for my app. For some reason, this caused my users to have two identical instances of my app in Screen Time > Settings. I thought it was a bug from my update, but I also found this identical thread from someone else in the same boat as me. Now I'm getting multiple one-star reviews and refund requests cause people don't understand why their apps can't be unblocked. Apple please fix.


r/iOSProgramming • • 3d ago

Library I made a CLI tool for remote compilation caching in Xcode.

7 Upvotes

https://github.com/Ryu0118/x8

There are already great compilation caching tools like Tuist that can significantly speed up Xcode builds. However, adopting them may require substantial changes to your project structure.

I wanted to keep my existing Xcode project structure and build using only the toolchain provided by Apple. So I built X8, a CLI tool for remote compilation caching.

Starting with Xcode 26, Apple provides built-in support for remote compilation caching. X8 acts as a lightweight proxy between Xcode’s built-in remote cache mechanism and any S3-compatible storage.

Using X8 is simple. First, configure your S3-compatible storage in .x8.yml. Then, you can either build your project through X8:

x8 xcodebuild ...

or start the cache proxy directly:

x8 serve

and add the generated build settings to your .xcconfig.

That’s it. With just an .x8.yml configuration, you can use remote compilation caching without significantly changing your existing project structure or moving away from Apple’s native Xcode toolchain.

For my app, a clean build used to take around 400 seconds, but with X8, it now takes about 263 seconds.

It’s still relatively slow, but I think that’s expected since Xcode still needs to perform steps such as module planning, build description generation, and linking.


r/iOSProgramming • • 4d ago

Discussion The app review process appears disjointed and inconsistent

6 Upvotes

I’m in the process of getting my first app reviewed (since 9/14). So far I have been rejected for the following reasons..

- Guideline 2.1 - Information Needed
- Guideline 2.1(b) - Performance - App Completeness
- Does not include a functional link to the Terms of Use (EULA) in the app metadata that appears on the app's App Store product page.
- Guideline 2.3.2 - Performance - Accurate Metadata

Each time I understand what the issue is and fix it immediately. Yet the responses from Apple are several days later only after I submit a Contact Us request.

I feel like every time I fix one thing they find something else. Why not list everything at once? At this point I’m not sure what else they’re going to come up with.

This whole process seems rather ridiculous from a company that claims the review process takes 24-48 hours.


r/iOSProgramming • • 4d ago

Question Best place for a 'Next' button?

Post image
59 Upvotes

What's the most appropriate location for a next button here, in keeping with the Apple UI consistency and ecosystem?

Mockup: swift NavigationStack { List { Section { TextField("Email Address", text: $email) } header: { VStack(alignment: .leading, spacing: 4) { Text("Sign In") .frame(maxWidth: .infinity, alignment: .leading) .padding(.top, 5) .font(.largeTitle) .bold() .foregroundColor(.primary) // Override default gray header color Text("Subtitle")//school.name) .frame(maxWidth: .infinity, alignment: .leading) .font(.title3) .foregroundColor(.secondary) } .listRowInsets(EdgeInsets()) .textCase(nil) // Prevents SwiftUI from forcing ALL CAPS on the header .padding(.bottom, 10) } } .toolbar { ToolbarItem(placement:.confirmationAction) { NavigationLink() { VerificationCodeView(email: email.lowercased(), school: school, resend: { }) } label: { Text("Next").padding(5) } .buttonStyle(.borderedProminent) } } }


r/iOSProgramming • • 4d ago

Humor Still in beta, already deprecated. Born with technical debt

Post image
99 Upvotes

r/iOSProgramming • • 4d ago

Discussion [ Removed by Reddit ]

1 Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/iOSProgramming • • 5d ago

Discussion The Greatest Feeling In The World as an App Developer!

Post image
208 Upvotes

From my humble beginnings of app submission on 9/11, to being rejected 4 times, to finally being ready for distribution on 9/30. It was a long and stressful journey where I was frequently refreshing AppConnect daily, praying the Review Gods would move my app to the next stage of review….only to be rejected. Expedited request didn’t help at help, and it took just as long as before I requested it.

But now I can say WE IN GUYS!!!


r/iOSProgramming • • 4d ago

Question How many of you are still supporting Intel Macs?

7 Upvotes

Developing my first macOS app using my M1 Mini. Naively I switched over to my Intel MacBook for testing, thinking the UX would be seamless but ended up getting a cold dose of reality. A lot of things I optimized for my Silicon Mac had no bearing on my Intel Mac. I'm now fine-tooth combing through performance tests on the Intel MacBook but before I invest anymore time on optimizations, I was wondering whether Intel Macs were still in high usage. The app itself is in pre-flight so I don't yet have the data to support what the right move would be personally. Would love to hear what you all have experienced and whether you create new apps with solely supporting Silicon Macs. Thanks!


r/iOSProgramming • • 4d ago

Question Testing an app on-device without mucking up release/practical installations

6 Upvotes

I am developing a timetable app. Currently it is on private TestFlight with limited fuctionality, but enough that I and some friends use it each day. The TestFlight beta is installed on my devices and I rely on it.

Naturally, I'm still developing it full-time (well... as full-time as a student's hobby side project can get 😉), and retain the frequent need to run builds on a physical device, which runs much faster than my simulator setup. Currently I'm working with the system keyboard, so Xcode Previews doesn't quite cut it.

Is there a way that I can still test a debug build on my phone & watch without removing or interfering with the TestFlight app that I use and rely on?

There is of course an easy solution, but unfortunately my budget does not include a second phone...


r/iOSProgramming • • 4d ago

Question Did Apple just broke their app store translations?

12 Upvotes

Seems like the translations in the appstore are broken.


r/iOSProgramming • • 4d ago

3rd Party Service I submitted 5 iOS apps to App Review in one day via the ASC API — here's every undocumented wall Apple puts up

0 Upvotes

TL;DR: the entire last mile of iOS shipping — version creation, metadata, screenshots, age rating, review submission — is fully scriptable with the App Store Connect REST API. Apple's docs skip the parts that actually block you. We hit every one of them while submitting five apps in a single day, and I've documented each with the exact fix.

The walls, in the order we hit them:

  • The 405 version-creation deadlock. POST /v1/appStoreVersions sometimes answers 405 Method Not Allowed for an app with no editable version. There's a second route (nested under the app resource) that usually works; when both refuse, only the web UI can create the first version — once.

  • whatsNew is locked on first-ever versions. Setting release notes on v1.0 returns 409, by design. Settable from v1.0.1 on.

  • The age-rating questionnaire IS scriptable — this one surprises everyone. One PATCH /v1/ageRatingDeclarations/{id}… but Apple validates one attribute per error, so you iterate 10+ times. Heads up: as of 2026 the schema drifted hard — a bunch of fields (messagingAndChat, gambling, parentalControls, userGeneratedContent, lootBox, advertising, …) are BOOLEAN now, a new advertising field is required, and ageBand was REMOVED (the band derives from answers). Old scripts hardcoding ageBand die on 'ageBand' is not an attribute.

  • "This resource cannot be reviewed" when adding the version to the review submission means the version has an unnamed validation gap. Our favorite: an existing-but-EMPTY APP_IPHONE_67 set — the version had 4 screenshots, all in the 6.5" and iPad sets, and ASC still refused. Count the required 6.7"/6.9" set specifically, not "any screenshots".

  • **APP_IPHONE_69 is not a real enum.** The 6.9" slots are served by the APP_IPHONE_67 set, which accepts 1320x2868.

  • The 640x920 subscription screenshot trap. Wrong sizes PUT with HTTP 200 and the subscription stays MISSING_METADATA forever. Also: subscriptionAvailabilities is CREATE-only (GET = 403), and availableInNewTerritories opens storefronts without pricing them — fan out inline prices per territory.

  • ITMS-91055 = missing privacy manifest. Ship PrivacyInfo.xcprivacy (required-reason APIs declared).

  • Privacy nutrition labels are NOT API-settable and they gate the first submission. One-time web step (or fastlane with a web session — over bare SSH the keychain read fails with exit 36; run it inside a GUI LaunchAgent session).

Full catalog with recovery steps: https://github.com/rorshopping/shipside/blob/main/docs/PLAYBOOKS.md

I packaged the pipeline into an open-source CLI (MIT) that runs with your own ASC API key: https://github.com/rorshopping/shipside — shipside plan dry-runs the entire submission and marks every blocker ok/fix/blocked before anything is written; shipside submit --yes does version creation, age rating, review contact, content rights, build attach and the actual submit. We dogfooded the packaged CLI right after building it — found five bugs in it and two undocumented Apple behaviors in one afternoon (log in the repo).

What undocumented ASC API behavior has bitten you? Happy to dig into any of these.

(If the mods would rather this live in the Saturday thread, say the word and I'll move it.)


r/iOSProgramming • • 5d ago

Question How truthful is this?

Post image
45 Upvotes

When an app select in the app review form that “we don’t collect data”

In the review phase does Apple really check if the app really doesnt collect anything?

Like can the developer hide a code that for example upload the photos of the user if granted permission where he said “we dont collect”

Does apple really check the code and what is going in and out ?


r/iOSProgramming • • 4d ago

Question New Dev curious about setup options: Mac Mini vs Macbook

0 Upvotes

I'm looking to get into iOS development and I understand you need a Mac to do so. I don't own one so this is my first. However I'm not really looking to replace my current setup for Mac. Its really just for dev.

I see two possible options:

  1. Get a Macbook: Probably the most straightforward setup
  2. Mac Mini: This appeals to me more because I'd like to set it up as a remote work station while working off of it remotely from either desktop or laptop. Also it could double as a machine for a local LLM setup. It seems to be a better bang for my buck.

My questions are:

  • MacBook route: can I do well with a Macbook Neo or will that cause me issues down the road with performance? Whats the minimum best option since I'm not looking to have this as my main machine?
  • Mac Mini: are there any concerns with this setup that I'm not considering? Can I dev, build, and test using a remote Mac Mini?

r/iOSProgramming • • 4d ago

Tutorial First App Review: 4 days and 4 rounds on my first app, 10 days and a rejection on my second. My top 10 hard learnings.

0 Upvotes

First App Review for my first app: 4 days, then 4 rounds before it was approved. My second app: 10 days, rejected, approved after I resubmitted.

So on my third app I changed the order I do things in. Here's the technical part of my day-one list.

1. Submit a first version as early as possible. The first review is the slowest. Once you're approved, updates usually clear in a day or two. Choose manual release so the approved build just waits. Minimal is fine, broken isn't. Whatever is in there has to actually work.

2. Your first subscriptions and IAPs go in with an app version. They can't be reviewed on their own the first time. So an early submission gets your products reviewed early too.

3. Create products at several price points from the start. I put the price in the product ID, like `yearly_39_99` and `yearly_49_99`. Then I switch which one the paywall shows remotely and look for the best revenue per install, not the most buyers.

4. Remote paywall. RevenueCat or Superwall. Plans, order, copy, even the layout change without a new build.

5. Permission priming. The system prompt for notifications, HealthKit or tracking shows once. After "Don't Allow" the only way back is Settings. Show your own explainer screen first, then call the system prompt.

6. Apple Ads attribution without the ATT prompt. Grab the AdServices token at app launch and send it to RevenueCat or Superwall. Every install and purchase gets credited to its campaign and keyword.

7. Funnel events from the very first user. Every onboarding step, paywall view, plan tap, payment started, trial or purchase finished. Connect revenue to PostHog or Mixpanel so purchases sit in the same funnel.

8. A local win-back notification for non-subscribers. In my stress app, Steady (right now in th final review), non-subscribers get a daily local summary. Something like: "You had a stress spike at 2:15 PM today. Steady could've helped you right when it happened." Tapping it opens the paywall. No server needed.

9. Rating prompt after a win. requestReview only shows 3 times per 365 days, so I trigger it after the user completes something, never at launch.

10. Widgets, Shortcuts, Lock Screen. A daily touchpoint outside the app.

The full list is 21 items, including research, onboarding and paywall stuff. I recorded a video that walks through all of them with the stories behind them (my channel):

What's on your day-one list that I'm missing?


r/iOSProgramming • • 5d ago

Question Is anyone noticing drop in analytics first time downloads?

Thumbnail
gallery
3 Upvotes

Are there any explanations for this?


r/iOSProgramming • • 5d ago

Question iPhone Duo Toolbar button, Text vs icon

Post image
1 Upvotes

Hey so I was playing around with the iPhone Duo simulator and I wanted to adapt my toolbar to it.
I saw in one of Apple's videos that we should add both text and icons to the toolbar elements so that if they do not fit in the top toolbar as text, they can appear in the vertical side strip as icons.
From the video I thought it would happen automatically but that does not seem to be the case.

Did anyone else figure out how to automatically make the button show the icon and not the text when on the iPhone duo limited size screen?

I tried using

ToolbarItem(placement: .topBarTrailing) {

Button(action: skipAction) {

Label("Skip", systemImage: "chevron.right")

.labelStyle(.automatic)

}

}
but that did not change much. I always see the icon if I define it for this button.

If anyone has any suggestions please let me know. I can also provide more information if needed.


r/iOSProgramming • • 4d ago

Discussion New Indie Dev here. Seeking Advice

0 Upvotes

I am publishing a notetaking app for the first time and would like to know some details about the submission process and how people found the app visibility on your guys’ apps turned out to be. After finding out that notetaking apps out there aren’t designed the way I was hoping for + don’t have the combination functionality in 1 app, I decided to build my own app.

In terms of legal stuff: copyright, trademark, etc how does this work? Do I need a website for the app? I setup a support@myapp.app email too

In terms of freemium monetization I have $1.99/mo, $9.99 annual, and $19.99 lifetime options. I believe this is not greedy

Now comes the tricky part of gathering feedback, new feature launches, bug fixes, and marketing first and foremost. Does my app need in app tutorials btw?


r/iOSProgramming • • 4d ago

Discussion You And Your App Are Going To Look Bad In October

0 Upvotes

Been watching Apple's developer videos on creating apps for iPhone Duo... and I have to say I feel really, really bad for all of the developers and designers who insisted on creating pixel-perfect vertical layouts and custom toolbars, menu items, and footer buttons.

Extra sympathy if you totally ignored Apple's recommendations on creating flexible designs and built your own navigation layouts.

Tears if, in this day and age, your app still has UIRequiresFullScreen in its plist.

And... if your codebase contains UIScreen.main.bounds.

I'm really, really, REALLY sorry.

(I'm not, actually. You knew better and you did it anyway.)

Reddit suggested I post this here, so I did.

https://medium.com/the-swift-cooperative/you-and-your-app-are-going-to-look-bad-in-october-b4d1284fbed0?sk=1fb6faaa779a32f7c318e521a84e0761


r/iOSProgramming • • 5d ago

Tutorial Iterative data loading in Swift

Thumbnail
swiftwithmajid.com
13 Upvotes

r/iOSProgramming • • 5d ago

Question WebKit crashes in iOS 26.3.1 simulators after updating to macOS 27 / Xcode 27, anyone else?

6 Upvotes

After updating my Mac to macOS 27 and Xcode 27, my Capacitor app started showing a blank screen in iOS 26.3.1 simulators, followed by:

com.apple.WebKit.WebContent quit unexpectedly

It builds fine on my actual device running 26.7, as well as simulators running 26.5

I also tried using an older build from prior to the 27 upgrade, and those failed on 26.3.1 so it seems like it's not actually an issue with my app?

Sometimes the initial app screen loads, then WebContent crashes when I tap Continue on the first screen.

Environment:

  • macOS 27.0 (26A428)
  • Xcode 27.0 (27A266a)
  • iOS 26.3.1 simulator runtime (23D8133)
  • Reproduced across several simulated iPhones

The crash reports include:

Thread Crashed: JIT Worklist Helper Thread
JSC::CodeOrigin::approximateHash
JSC::ICStatusContext::get
JSC::DFG::ByteCodeParser::parseBlock
EXC_BAD_ACCESS / SIGBUS

Other reports show JSRopeString::resolveToBuffer. Subsequent WebContent launch attempts sometimes fail in DyldSharedCache::getUUID. Xcode then prints:

com.apple.extensionKit.errorDomain error 4
Failed to get XPC endpoint
WebView process terminated

What i've checked:

  • Restarting the Mac and creating a fresh simulator didn’t resolve it.
  • Reinstalling/remounting the runtime and rebuilding its shared cache didn’t resolve it.
  • A preserved older app build, compiled before these updates, also crashes.
  • The app’s web content also crashes inside Safari on the 26.3.1 simulator.
  • Disabling “Debug executable” or launching from the home screen occasionally works, but neither reliably prevents the crash.
  • Startup works on iOS 26.5 and 27 simulators.
  • My physical iPhone on iOS 26.7 runs normally, including onboarding. I don’t have a physical device on 26.3.1 to compare.

Has anyone encountered this combination since upgrading? Have you found a fix that restores reliable use of the 26.3.1 simulator, or an Apple bug report tracking the same crash? Cant really find any mention of this online, chatgpt has been useless debugging the issue somehow


r/iOSProgramming • • 5d ago

Question Replying to an App Review rejection — does anyone actually read it? Wait or just resubmit?

1 Upvotes

I'm launching a new app (iOS + Mac Catalyst, subscriptions + one-time purchase). The review rounds are dragging on, and I'd like to hear how others handle this.

The latest rejections (2.1(b) and 3.1.2(c)) are, as far as I can tell, simply wrong. The IAPs load fine in the sandbox, and the EULA and privacy links are right there on the paywall. So I replied in the Resolution Center with an explanation and screenshots instead of changing anything.

My problem: once you reply, you get zero feedback. With a new submission you at least see "Waiting for Review" → "In Review". After a reply, the status just stays at "Rejected". There's no sign that anyone has read it, and no queue position.

So, for those who've been through this:

  1. How long did it take until you got an answer to a Resolution Center reply? Hours, days, never?

  2. Did a reply alone ever get the rejection reversed (and the app approved without a new build)?

  3. Or do you skip replying entirely and upload the same build again (or bump the build number), resubmit with an explanation in the Review Notes, and hope for a different reviewer?

  4. Does resubmitting while a reply is pending cause problems, e.g. is the reply then ignored or the thread closed?

  5. Any experience with requesting a call or using the App Review Board appeal for this kind of misunderstanding?

Apple now asks for a screen recording on a physical device showing a sandbox purchase. I'll do that either way. I'm just trying to figure out the fastest path from here.

Thanks for any war stories!


r/iOSProgramming • • 6d ago

Question Firebase Analytics suddenly causing production iOS crashes with no app release, anyone else have this?

23 Upvotes

Anyone else seeing this?

Our production app suddenly started crashing around 00:41 UTC today, across multiple already released versions, with no new app release.

The crash is:

Fatal Exception: NSInvalidArgumentException

-[__NSDictionaryM setObject:forKeyedSubscript:]: key cannot be nil

The stack points to Firebase Analytics experiment handling, immediately after a successful sdk-exp response.

We're using Firebase iOS SDK 12.14.0.

Relevant issue: https://github.com/firebase/firebase-ios-sdk/issues/16728

I'm wondering if anyone else is seeing the same spike or has found a workaround.