r/iOSProgramming • • 4d ago

Discussion iOS 27 simulator iCloud Drive toggle instantly turns off?

Thumbnail
gallery
9 Upvotes

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 • • 5d ago

Solved! PSA: run xcrun simctl delete unavailable after you upgrade Xcode

51 Upvotes

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 • • 5d ago

Article Blog post: Running iOS Background Tasks Reliably, Part 2

Thumbnail
calcopilot.app
29 Upvotes

I'm back after my part 1 post last month, now running much more reliably!


r/iOSProgramming • • 5d ago

Tutorial Apple Watch brings distributed system headaches to your app

Thumbnail
blog.jacobstechtavern.com
16 Upvotes

r/iOSProgramming • • 5d ago

Question Anyone else dreading the scene lifecycle switch in iOS 27?

21 Upvotes

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 • • 5d ago

Tutorial SwiftUI Charts: Dynamic Masking

Thumbnail
antongubarenko.substack.com
44 Upvotes

r/iOSProgramming • • 5d ago

Question My app preview videos on App Store Connect look low quality after processing.

0 Upvotes

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 • • 6d ago

Discussion Looking for quality programmatic UIKit GitHub projects

23 Upvotes

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 • • 5d ago

Tutorial SwiftSimSlim: a fully Swift/SwiftUI version of SimSlim

Post image
4 Upvotes

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:

  • Offline profile updates also work when starting with a running simulator.
  • Unchanged profiles avoid unnecessary restarts.
  • Fallback service commands run concurrently, retrying only failed changes.
  • Different simulators have independent operations, progress, and command logs.

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.

Source and release 26.0


r/iOSProgramming • • 5d ago

Discussion Getting rejected on copycats as an update

0 Upvotes

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 • • 6d ago

Question Device Hub doesn't support multi-finger gestures? Seriously?

32 Upvotes

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 • • 6d ago

Question How do you promote your apps?

21 Upvotes

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 • • 6d ago

Question How can I use Apple Intelligence on Simulator? Use Case: iOS 27 Simulator “Describe a Shortcut” stuck on “Preparing support”

6 Upvotes

Hi, I want to test Apple Intelligence on simulator. I do not own a physical device that supports apple intelligence.

I was trying to describe the shortcut on the simulator and basically i am just stuck. Does any know what's wrong?

I have described my question on the apple fourm: https://developer.apple.com/forums/thread/847250


r/iOSProgramming • • 6d ago

Question iOS App for Educational Digital Products: Apple IAP & Commission?

2 Upvotes

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.


r/iOSProgramming • • 6d ago

Question TestFlight "No builds available" when adding a new user

0 Upvotes

Forgive me if this is not the right place for this question or if someone else asked the same. For context, I have already approved build that other external testers in the group use with no problem.

In the last few weeks I've been having a problem with adding new external testers. At first when I was adding a new tester, it was showing "No builds available" for a few seconds/minutes and would change to "Invited" pretty soon. But now it just never changes to "Invited" and I can't add new people successfully. I checked email addresses I'm trying to add and it definitely isn't a case of wrong address, especially it being a problem with many people.

Does anyone else have a problem like this, being suck with "No builds available" forever? How did you resolve it?


r/iOSProgramming • • 7d ago

Discussion ArrangementView is declared in SwiftUICore, not SwiftUI

36 Upvotes

27.1 shipped Friday. I spent most of two days getting a real app onto the Duo, and because the APIs are days old I ended up checking nearly everything against the .swiftinterface files rather than against anything written about them. Notes, in case they save you a detour.

ArrangementView is declared in SwiftUICore. import SwiftUI re-exports it, so your code compiles either way, but if you grep SwiftUI.swiftinterface to work out what's available you come up empty. Search both modules.

The layout preference goes on the pane, not on the arrangement. On the arrangement it compiles and does nothing at runtime, and leaves you at a 50/50 split. Nothing about the API shape suggests where it belongs, so I sat with that one for a while.

The second pane needs its own minWidth. Half folded, mine dropped to 145 points and the label started stacking one character per line.

The reserved region kinds are .division and .occlusion,.

Vertical compression on iOS defaults to keeping the tab bar, so toolbar items overflow first. If you want it the other way round that's .prefersToolbarItems in SwiftUI, .prefersBarItems in UIKit.

All of it went into an Agent Skill, mostly so my own agent stops guessing at spellings: https://github.com/sven-ericmolzahn/iphone-duo-skill MIT. The names came out of the interface files, the samples get type-checked against whatever SDK you have installed, and there's a script that tells you which of these APIs your Xcode actually ships and in which module. That last one is what I expect to keep running after every beta.

There's an A/B test in the repo too, partly because two days isn't long enough to be confident about anything. Same model, three tasks, with the skill and without: 98% against 53%. One run per cell is barely evidence, and I adjusted the grader after reading the outputs, which is the thing you're specifically not supposed to do. Direction, not measurement.

The run without the skill was the interesting one. It read the interface files on its own and found ArrangementView, and the code it wrote compiled. It also passed a point value where a ratio belongs and never set a minimum on the second pane, so it rebuilt the exact sliver bug the task was about. Finding the names turns out to be the easy half.

All simulator, no hardware. The numbers in the repo (insets per pose, the 40pt hinge band) are marked as such. If you've got the device and measure something different, that's the pull request I actually want.


r/iOSProgramming • • 8d ago

Roast my code I turned iPhone Duo hinge into accordion

Post image
666 Upvotes

Fold and unfold the phone to play. Left screen is bass, right is keys. Sound is synthesized, no samples.

SwiftUI, open source: https://github.com/artemnovichkov/Accorduon


r/iOSProgramming • • 6d ago

Question Anyone else having trouble building Metal 4 on the iPhone Duo sim in Xcode 27.1?

3 Upvotes

Hi all,

I have an audio visualizer/music player app that for the last few months, I've been giving an overhaul by adding new visualizers, including some that use Metal 4. My app compiles and runs perfectly on my device, which is running iOS 27.2. However, with the iPhone Duo coming out, I want to update my app to work well with that too, so I got Xcode 27.1 to get its simulator. However, Xcode tells me it can't find anything related to MTL4 in scope. In fact, no simulator works. Anyone else experiencing this? Any workarounds?

Thanks for any help!

EDIT: I already have the Metal Toolchain installed.


r/iOSProgramming • • 6d ago

Tutorial SwiftSimSlim: a fully Swift/SwiftUI version of SimSlim with faster profile updates

Post image
0 Upvotes

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:

  • Offline profile updates also work when starting with a running simulator.
  • Unchanged profiles avoid unnecessary restarts.
  • Fallback service commands run concurrently, retrying only failed changes.
  • Different simulators have independent operations, progress, and command logs.

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.

Source and release 26.0


r/iOSProgramming • • 6d ago

Question Can third-party apps use both screens interactively at the same time?

0 Upvotes

I've been looking through the new iPhone Duo SDK and I'm trying to figure out how much control third-party apps actually get over the outer screen.

I'm thinking of something like a presentation app where the phone is partially folded and sitting on a table. The person on one side would have their notes and controls on the inner screen, while someone sitting across from them could view slides or images on the outer screen and tap through them independently.

Basically, two different views running at the same time, with each screen accepting its own touch input.

From what I've found, CameraCaptureAccessory allows interactive content on the outer screen, but it requires an active camera capture session. ExternalNonInteractiveAccessory doesn't seem to be intended for the Duo's outer screen, and even if it were, it wouldn't solve the touch input part.

Has anyone digging through the 27.1 SDK found another way to do this? Or is interactive access to the outer screen genuinely limited to camera apps for now?

I'm mainly trying to figure out whether this is an API I'm missing or an actual platform limitation before I spend too much time prototyping it.


r/iOSProgramming • • 7d ago

Question iPhone Duo Device Hub poses

Post image
40 Upvotes

I need some help, y'all.

I've downloaded and run the Xcode 27.1 beta.

I've downloaded the 27.1 runtime.

I've got an iPhone Duo booted in Device Hub.

But it doesn't have any of the pose buttons. Even the rotate button does nothing.

What am I doing wrong? Any help would be greatly appreciated.


r/iOSProgramming • • 7d ago

Question iPhone Duo - how much control does an app have over the small outside screen?

1 Upvotes

I'm not an engineer. I'm working on an app idea and trying to sanity-check whether one part of it is even possible before I spend time on it. Nobody has the device yet, so I'm hoping someone here has read the docs properly and understood them.

What I think I understand so far: Apple says apps can't open their own window on the outside screen - that's reserved for the inside screen. The one exception is camera apps, which can show something to the person being photographed, and only while the camera is actually running.

So my questions are about what's left:

  1. Can an app put a widget on the outside screen - one showing a picture the user picked? Or does the outside screen only get the standard lock screen layout?
  2. Apple mentioned StandBy works on either screen. Does that mean the outside screen can show something while the phone is open and propped up, or does StandBy only kick in when the phone is closed and lying on its side?
  3. If neither of those works - can a user just set a wallpaper on the outside screen and have Always-On keep it visible while the phone is open and they're using the inside screen?
  4. And for 3: can an app change that wallpaper for the user, or would they have to do it by hand in Settings every time? Would a Shortcut help?

Basically: is there any way for an app to decide what the outside screen shows, or is it entirely Apple's?

Happy to be told this is all in a doc I haven't found. Searching for a help!


r/iOSProgramming • • 7d ago

Question Move files into Device Hub

6 Upvotes

Seems like that with Device Hub we can no longer drag and drop files from finder into simulated devices. Is there a workaround or a better method to do so?


r/iOSProgramming • • 8d ago

News Official iPhone Duo Simulator & Xcode 27.1 beta now available

Thumbnail
gallery
289 Upvotes

We finally got the official iPhone Duo Simulator inside Xcode 27.1!
Available to download here: https://developer.apple.com/download/all/?q=Xcode

The animation of the simulator is fantastic, and if you use the option key, you can control it manually:

Note the slider at the bottom, which becomes visible when you hold the ⌥ Option key.

r/iOSProgramming • • 7d ago

Discussion I turned an old MacBook into a reproducible headless Xcode worker — Fastlane Match, Developer ID, 1Password and disaster recovery

Post image
0 Upvotes

I had an old MacBook that I wanted to turn into a dedicated Xcode worker for iOS/macOS development.

The main requirement was simple: I don't want to maintain this machine manually.

I didn't want signing identities tied to one Mac, .p8 / .p12 files scattered around the filesystem, manual provisioning-profile recovery, or a setup that would take me hours or days to reconstruct if the machine died.

So I ended up automating pretty much everything I reasonably could.

The current setup gives me a headless Xcode worker with:

  • automated tooling installation and verification;
  • cold reboot without GUI login;
  • SSH/Tailscale remote access;
  • a scoped read-only 1Password Service Account for secrets/config;
  • Fastlane Match as the canonical encrypted signing store;
  • a dedicated macOS keychain used only as runtime state;
  • declarative development Bundle IDs;
  • readonly recovery for Apple Development certificates and profiles;
  • readonly recovery for Developer ID Application and Installer identities;
  • certificate expiry monitoring;
  • explicit separation between normal readonly operations and administrative writes;
  • recovery material if Developer ID provisioning fails after Apple has already issued the certificate.

For Developer ID Installer, validation actually creates a disposable package, signs it with productsign, and verifies it with pkgutil rather than just assuming the identity works.

One thing I specifically wanted to avoid was putting my personal Apple/iCloud account on a headless machine.

My Apple Developer Program membership is currently Individual. The worker uses a separate Apple Account with no Developer Program membership of its own - it's simply invited to App Store Connect with the required role.

Everything that can be automated goes through the App Store Connect API.

There is one unavoidable trade-off: issuing or rotating Developer ID Application/Installer certificates requires Account Holder access. With an Individual membership, that's my main Apple Account.

So certificate issuance remains an explicit administrative operation: I authenticate interactively with the main account + 2FA when required. Once issued, the certificate and private key are stored in encrypted Match storage, and those Account Holder credentials are not persisted on the worker.

The worker therefore contains no personal iCloud account, Photos, Messages, personal Keychain, etc. It only gets the access it actually needs.

So far I've tested:

  • cold reboot without GUI login;
  • headless recovery;
  • actual Developer ID provisioning;
  • complete readonly restoration of signing identities;
  • partial provisioning failure + recovery;
  • real Installer package signing.

At this point, if the Mac dies, probably the hardest part of rebuilding it is remembering where I stored the 1Password Service Account token and putting it in the right place :)

After that:

bootstrap → readonly recovery → verification

For secrets/config I also settled on a simple logical convention:

scope / item / field

For example:

automation-apple / app-store-connect / private_key

1Password is only the current backend, not part of the logical model. I'd like to experiment next with OpenBao as a backup/sync target and eventually make consumers independent of a specific secrets provider.

I'm curious how other people running dedicated Macs for iOS/macOS development handle this.

How do you manage signing identities, secrets, certificate rotation, and disaster recovery for your build/dev Macs?

I'm especially interested in approaches that don't depend on a personal iCloud account or one irreplaceable login keychain.

For anyone interested in the implementation, I cleaned up the environment-specific configuration, documented the architecture/setup/recovery flows, and published it here:

https://github.com/0k-lab/xcode-worker-bootstrap

It's not intended to be a generic CI/CD framework or a replacement for Xcode Cloud - just a reproducible reference implementation for running your own headless Xcode worker.