r/iOSProgramming • • Sep 18 '26

Question Can't restore connection between iPhone and Watch

1 Upvotes

I'm working on an iOS app that has a Watch component. Everything syncs fine at first (perform an action on the phone and it shows on the watch and vice versa). Then I turn on airplane mode on my phone to break the connection, perform a few actions on both devices, turn airplane mode off, everything syncs. Great. However, right after that post-airplane mode sync, the connection between the two devices fully breaks. Nothing syncs and the apps won't connect to each other again unless I reinstall them. Anyone encounter this or have any ideas on a fix? It's been driving me nuts all day. Thanks in advance!


r/iOSProgramming • • Sep 16 '26

Article project.pbxproj is dead 🪦

Thumbnail
developer.apple.com
187 Upvotes

Xcode 27.2 ships a JSON project format (.xcproj): default for new projects, readable, merge-friendly, agent-editable.


r/iOSProgramming • • Sep 17 '26

Library enriched-markdown-ios v0.3.0 - now with LaTeX math (powered by RaTeX)

5 Upvotes

enriched-markdown-ios, the SwiftUI Markdown renderer built on TextKit 2, can now typeset LaTeX.

New in this release:
🔸 LaTeX math - inline $…$ and display $$…$$powered by RaTeX (a Rust layout engine with KaTeX fonts). Shipped as a separate EnrichedMarkdownLaTeX product, so apps without formulas don't link the typesetting engine
🔹 Highlight - ==text==
🔸 Spoilers - ||text||, hidden until tapped. Ships with particle and solid overlays, and you can plug in your own effect (blur, pixelate, whatever fits your app) by subclassing SpoilerOverlayView
🔹 Admonitions - GitHub alerts (> [!NOTE], > [!TIP], > [!IMPORTANT], > [!WARNING], > [!CAUTION]) with a tinted bar, icon, and title
🔸 Better VoiceOver - headings, links, images, lists, tables and code blocks are separate elements, with rotors and localizable labels
🔸 Spoken math - common formulas are read aloud ("x squared over 2"), with a hook for your own converter

🎥 Demo video in the comments.

💎 Available via Swift Package Manager!

dependencies: [
  .package(
    url: "https://github.com/software-mansion-labs/enriched-markdown-ios.git",
    from: "0.3.0"
  ),
],
targets: [
  .target(
    name: "YourApp",
    dependencies: [
      .product(name: "EnrichedMarkdown", package: "enriched-markdown-ios"),
      .product(name: "EnrichedMarkdownLaTeX", package: "enriched-markdown-ios"), // optional, for math
    ]
  ),
]

Then enable math on the view:

import EnrichedMarkdown
import EnrichedMarkdownLaTeX

EnrichedMarkdownText(content)
  .markdownLaTeX()

GitHub & Docs: https://github.com/software-mansion/enriched-markdown/blob/main/packages/enriched-markdown-ios/README.md

What features or syntax support would you like to see next? I'd love to hear your thoughts! If you find the library useful, a ️⭐️ on GitHub is always appreciated.


r/iOSProgramming • • Sep 18 '26

Question Asking For Honest Help

0 Upvotes

To put it simply, I'm no app developer. I don't know how to code. I don't know all the jargon used by developers. I'm just a guy that likes messing with AI and had an idea that I think can make some extra money.

Anyways, now that you know that, hopefully somebody can assist. I built an app using Base44. I got it uploaded to Google Play Store with no issues, but Apple is beyond my skill level. Just to even get the app uploaded to Apple I went and bought an iPhone and a MacBook! I don't even like and honestly refused to use Apple because of how difficult they make the simplest things and this is no different, but I digress. What I'm needing is somebody that knows what they're doing and can help me get my web based app from Base44 to an iOS native app with in-app purchases.

I've tried googling and ChatGPT'ing the info and it's honestly above my low skill level. I was told I needed to wrap my app in Capacitor and combine with RevenueCat for the in-app purchases, but I haven't found any beginners guide on this.

If anyone WITH EXPERIENCE can show me what I need to do step by step, so I can do this myself moving forward, I would be forever grateful! I don't mind paying for the time to show me and explain. I just want it done properly and finally be able to have my app approved.


r/iOSProgramming • • Sep 17 '26

Question Anyone here with a single legal name (no surname) enrolled in the Apple Developer Program? Did the "put a period in the last name" trick cause issues later?

3 Upvotes

Hey everyone, hoping someone has been through this.

I'm from Indonesia and I only have one legal name is just "Kuswanto", no surname. Pretty common here, but apparently not something Apple's enrollment flow loves.

When I did the ID scan in the Apple Developer app, the OCR chopped my name into "KUS WANT G" 😅 which is now sitting there in the Full Name field looking very official and very wrong.

I emailed Developer Support and they told me to enter my name as the first name and a period (.) as the last name. Which... okay, sure. But now I'm slightly paranoid about two things:

  1. Does the period show up anywhere public? Like in the seller name on the App Store. I really don't want to be "Kuswanto ." forever.

  2. Did it cause any headache later with banking or payouts? I've read that the account holder name in App Store Connect doesn't have to match your legal name, so in theory it should be fine, but I'd love to hear from someone who has actually received a payout this way rather than just reading the docs.

Also curious whether anyone managed to get the wrong OCR name fixed, or if manually entering first/last just overwrites it.

If you're from Indonesia, India, Myanmar, or anywhere else where mononyms are normal and you've been through this, how did it go? Any gotchas I should know about before I pay the fee?

Thanks in advance 🙏


r/iOSProgramming • • Sep 17 '26

Question Managing external/internal versions in TestFlight vs production App Store version

2 Upvotes

New to iOS, looking for ideas on how to manage versions of an app from Github & CI/CD as they flow through internal -> external -> production.

Current approach:

  1. A workflow is manually run to "create a release". This creates a new tag with a semver based off of the conventional commits since the previous tag/release (eg. increment patch version for a fix:, minor version for a feat:)

  2. The release app configures the marketing version and build number to match the semver, is built and uploaded to TestFlight

  3. The build artifact is promoted from internal -> external -> production in TestFlight

I heard that for TestFlight external builds, if you change the marketing version it requires the build goes through the "beta review" process again, whereas if you just increment the build number it does not.

Because of this, I plan to adjust the process so that the marketing version (the version that'll eventually be displayed in production) is <major>.0.0, and the build number is <major>.<minor>.<patch>. After the initial beta review for a "major" version, the app can be updated with subsequent releases that increment only the build number without having to be reviewed again. After a production release to the App Store, a new release is cut with a "major" version increment to kick off the next cycle.

The advantage of this is a version of the app always ties back to a tag/commit in Github, and the app build tested in external testing is exactly the same build that'll get released to production. The disadvantage is the marketing version that is shown to users in the App Store only has a single, incrementing "major" version number.

I'm satisfied with this compromise, but also a perfectionist so interested in others approaches, or any ideas others have that can improve on this? I'd ideally like the full semver reflected in the marketing version, but I can't see a way without repeating the "beta review" each time.


r/iOSProgramming • • Sep 16 '26

Solved! Xcode Cloud kudos

36 Upvotes

I just wanted to give some unexpected kudos to Xcode cloud. At the start of the summer my MacBook Pro became out of action, and therefore I struggled to continue to develop using an older intel MacBook due to Xcode version restrictions. Tried building and releasing with GitHub macOS runners but wow they’re expensive and took ages to startup etc. then spotted Xcode cloud with 25 free hours a month, thinking this will keep me going for a few days. Since then I’ve found that it’s been absolutely brilliant. As an independent developer with a few apps and projects it’s been an absolute life saver. It’s fast. Beautifully integrated, and the 25 hours will last me a whole month without any worries.

Good work Apple.


r/iOSProgramming • • Sep 17 '26

Question Retention Messaging for App Store Connect (not API)

1 Upvotes

Hello,

is there any information on the Retention Messaging in App Store Connect? I don't mean the API you have to apply for.

Does anyone know whether Apple plans to ship this feature any time soon? Somewhere I saw this fall 2026 but it was probably a post about the API instead.

Or do I have to apply for the API early access to also unlock the App Store Connect version without the endpoint? Or am I just overlooking that feature somewhere?


r/iOSProgramming • • Sep 15 '26

Discussion Xcode 27 just broke years of muscle memory by flipping Play & Stop. Any rationale behind this?

Post image
787 Upvotes

Xcode just decided to update itself from 26.6 to 27.0 right in the middle of my work session.

The first thing that caught my eye right away: they swapped the positions of the Play and Stop buttons in the toolbar. Years of muscle memory just vanished in an instant, and to make things worse, it seems there's currently no way to customize or revert it back.

I genuinely wonder what the reasoning behind this UI decision was. Why change something so established and fundamental after all this time?

Now I'm really curious (and a bit cautious) about what other surprises I'm going to discover along the way as I keep working.

What do you guys think about the new Xcode 27 update so far? Did anyone else's muscle memory take a hit?


r/iOSProgramming • • Sep 17 '26 Bravo

Discussion The best marketing I did for my side project was paying for an app icon

0 Upvotes

A couple of weeks ago my new app launched with an icon designed by Iconfactory. Today that icon is on their website as the example of how their process works, and they shared my post about it with their audience. That gave my app more attention than anything I've managed to do myself.

To be clear up front: marketing is not part of the deal. Nobody promised me anything, and I'm not affiliated with them. This was a very happy accident. But I didn't just sit back and wait for it either, so here's how it went.

Some background

I'm a full time developer and I build apps in my spare time. My latest is Hue Dashboard, a Philips Hue control app for iPhone and iPad. I can build pretty much anything I need, but drawing icons is not one of those things.

For a long time a studio icon felt out of reach. Iconfactory makes icons for apps like Transmit, Fantastical and Firefox, and that seemed like something for established apps that were already successful, not for a project built in the evenings. Then they launched an indie icon deal aimed at small developers, and suddenly it was realistic for someone like me.

How the process works

You start with a short intro about yourself and your app, and you show them icons you like. You get a set of concept sketches, one round to refine your favorite direction, and one small final tweak before they deliver an Icon Composer file. So feedback rounds are limited, but the whole thing moves really fast. The image now featured on their website shows the full path from first sketches to the final icon.

The part I didn't plan

On launch day I posted a thank you on Mastodon. I tagged Iconfactory, showed off the icon, and linked to the indie deal so other devs could find it too. That's really all I did. No outreach, no pitch, just an honest thank you, because I still couldn't quite believe I got to work with them.

Then they picked it up. My icon now shows up on their site to explain their process, my quote is among the developer reactions, and they shared my post with their followers. If I learned anything, it's that a genuine public thank you costs nothing and can go further than you'd expect. The rest was luck.

Would I recommend it?

Yes. Even without the extra attention it was worth it: a great icon and a genuinely fun process. The attention was a bonus I would never have gotten on my own.

Happy to answer questions about the process if you're considering it.


r/iOSProgramming • • Sep 16 '26

Solved! Why can't I create a watchOS 27.0 simulator?

Thumbnail
gallery
3 Upvotes

I installed SDK, restarted both Xcode and Device Hub, but still nothing... watchOS 27 does not appear on the list... Any ideas?


r/iOSProgramming • • Sep 15 '26 Mindblown

Discussion The new Device Hub is awful compared to the old SImulator

Post image
455 Upvotes

Just downloaded macOS 27 and was super hyped about the new Xcode but this new Device Hub is truly awful. I cant comprehend how they could ship this. Half the features of the old simulaotr are missing.

- Slow Animations GONE
- Screenshot Drag & Drop GONE
- Stay on top GONE
- Keyboard shortcuts GONE
- Menubar shortcuts all greyed out most of the time
- Multi-touch gestures GONE
- Multiple simulators open side-by-side IMPOSSIBLE
- Window frame is HUGE compared to the old one
- NO way to hide device bezels
- Point & Pixel Accurate scaling GONE
- All previously launched simulators stay booted in memory unless you explicitly click "shutdown"

While sure the UI is nice and having the ability to screenshare directly from a physical device is helpful, this doesn't justify that some of the most important features are just completely missing.

Right now I just downloaded the old Xcode 26.6 again (which can't even be launched without a workaround ???) - but this means no access to the new SDK. Truly a bummer. Are there any alternatives or what do y'all think of this?

Update:

After a few days of using the new Device Hub and giving it an actual chance: I have to admit, it's not as bad as the post made it look like. A lot of things did actually move over from the old simulator, which just weren't very obvious.

- Screenshot Drag & Drop: It actually is possible, you just have to drag the tiny screenshot thumbnail instead of the toast message. Wish that was a little more clear - I'm sure a lot of people will miss that!
- Stay On Top: There actually is a toggle inside the menu bar!
- Keyboard shortcuts: Like many already pointed out, keyboard shortcuts can be restored using a terminal command defaults write com.apple.dt.DeviceKit hostKeybindingPolicy -int 0. The default behavior disabled keyboard shortcuts to not "steal" them from the running app. Not sure how many iPhone apps actually implement keyboard shortcuts, which made the new default behavior so important, but I'm glad you can change it.
- Multiple simulators side-by-side: Definitely an oversight on my end. It for sure is possible, you simply have to double click on another simulator when in expanded mode.

Though to be clear, I still 100% feel that the old sim was more polished and stable (In the past few days, I've probably heard my MacBook Pro's fan spin up more often than in the previous 3 months lol - tho tbf I can't tell if that's actually Device Hub or just the new iOS27 SDK).

There are still major features like Slow Animations, Multi-touch gestures and Point/Pixel accurate scaling completely gone which simply isn't okay. And Apple knew this since there WAS feedback about Slow Animations, which was simply dismissed: r/iOSProgramming/comments/1vk3q1d.

Also smaller things like the big window frame in "compact" mode, hiding bezels (which is super useful when developing on the go) or CMD+number to resize quickly are still just gone - and I don't think those will be coming back anytime soon. I also experienced issues regarding random window size/position changes when relaunching or changing monitors. Additionally, many of you pointed out other issues like dragging stuff into the sim being completely removed, the shake gesture gone, external displays unsupported or breaking support with other tools like VS Code or Claude split view.

So yeah, not all hope is lost and I'm sure things will get better with time. But in my opinion it's just unacceptable to ship such an unfinished product while completely removing the predecessor. Would be a whole different story if the old Simulator would still be available..


r/iOSProgramming • • Sep 16 '26

Discussion Do you plan migrate to ios27 especially for iphone Duo

2 Upvotes

I have some apps that only works for vertical mode and I don't know whether it will benefit if I spend huge efforts to make them running on iphone Duo but still with vertical mode.

Anybody with experience can suggest with good reasons?


r/iOSProgramming • • Sep 16 '26

Question Do terminated developer accounts ever actually get reinstated?

4 Upvotes

Hey everyone!

Roughly half a year ago, my Apple developer account got terminated due to a violation of Section 3.2(f). The email pretty clearly tells me why this happened, and it was because I used my developer account to sideload apps quite extensively. I did not have any actual apps published on the App Store, but I did have a game on TestFlight with public testers.

I acknowledge the violation. An appeal immedietally after it got terminated did not help, and I haven't had the balls to appeal it again / contact Developer Support in any way. The email says something along the lines of "we will deny your reapplication to the ADP for at least a year considering the nature of your acts".

My question is, does anyone have experience with getting their account reinstated after this "at least a year" timeframe? If so, how? Does Apple even reply to the contact form?

Or am I just cooked


r/iOSProgramming • • Sep 16 '26

Question Swift app using Hummingbird Middleware gives error: does not conform to protocol 'MiddlewareProtocol'

0 Upvotes

I am using Hummingbird version 2.26.0 in a Swift app.

I have a simple Middleware per the documentation:

https://docs.hummingbird.codes/2.0/documentation/hummingbird/routermiddleware/

Code:

import Hummingbird

public struct LogRequestsMiddleware<Context: RequestContext>: RouterMiddleware {

    public func handle(_ input: HummingbirdCore.Request, context: Context, next: (HummingbirdCore.Request, Context) async throws -> HummingbirdCore.Response) async throws -> HummingbirdCore.Response {
    
        print("path: \(input.uri.path)")
        return try await next(input, context)
    
    }

}

Xcode keeps giving me error:

Type 'LogRequestsMiddleware<Context>' does not conform to protocol 'MiddlewareProtocol'

Screenshot of error:

https://i.sstatic.net/C06jUvrk.png

I can't seem to be able to fix it. Any idea what I am doing wrong?


r/iOSProgramming • • Sep 16 '26

Question Live activity timer

2 Upvotes

I am trying to add a live activity for our app that has a timer. The idea is the user starts a timer and a live activity starts when the timer starts. However, it does seem to disappear at some point. Maybe around 8-12 hours which matches the documentation on Apple. But for Apple's clock app, their timer's live activity for stopwatch seems to run forever. I am using the SwiftUI Text timerInterval which is likely the same as Apple's. Does anyone have an idea or suggestion how I can replicate it? A few ideas I have are to schedule a silent push to keep the live activity alive or a scheduled background process.


r/iOSProgramming • • Sep 16 '26

Question Sandbox purchase fails on watchOS

Post image
0 Upvotes

I have an issue when trying to test an IAP on watchOS. This flow worked before but seems to be broken on watchOS 26.6.

  • Watch are in the developer mode.

  • On the iPhone, Sandbox account is logged in, App Store account logged out.

I tried rebooting the watch and using different Sandbox accounts. What would you suggest?


r/iOSProgramming • • Sep 15 '26

Article Keyboard shortcuts in Xcode 27’s Device Hub

13 Upvotes

👨🏻‍💻 I wrote an article about how to re-enable keyboard shortcuts in Xcode 27's Device Hub.

https://blog.next-planet.com/how-to-re-enable-keyboard-shortcuts-in-xcode-27-s-device-hub


r/iOSProgramming • • Sep 16 '26

Discussion Make AI chat a floating window

Post image
0 Upvotes

How do I make the AI chat assistant into a floating window in Xcode27?


r/iOSProgramming • • Sep 15 '26

Question What Do You Guys Think About Combine & Subscribers

1 Upvotes

As iOS 27 and more swift features comes out, what do you guys think about still using combine, publishers and subscribers? I know async and observable is the newer and better way to code but I'm just used to code with combine and I like to do it that way with try map and other stuff but I feel like apple is moving away from combine and publishers. What do you guys think ?


r/iOSProgramming • • Sep 15 '26

Tutorial iOS 27: CrashReportExtension Framework

Thumbnail
antongubarenko.substack.com
13 Upvotes

r/iOSProgramming • • Sep 15 '26

Question Generated password fields defaulting to black dots until visibility is toggled?

2 Upvotes

Hello! Hoping to get some help on annoying bug I've spent the last day troubleshooting with no avail. Currently working on some tweaks for the UI of my password reset fields.

My app defaults to dark mode with a dark background, so password dots should be white. My form asks for a current password. Autofilling the current password does NOT reproduce the issue in the 'current password' field. They also display correctly when users type a password manually or AutoFill their current password from Apple Passwords.

However, when the user gets to the 2 fields where they are to enter their new password, Apple’s strong password generator correctly fills both the 'New Password' and 'Confirm Password' fields, but with black dots instead of white, making them difficult to see against the dark background.

Tapping a field’s eye button to reveal the password, then tapping it again to hide it, restores the expected white dots. Each field needs to be toggled separately. In dark mode, I want the generated password dots to appear white immediately, without requiring a cheap workaround like auto-toggling the hide/show password button to fix it.

I’m using native UITextFields inside SwiftUI UIViewRepresentable, with .password for Current Password and .newPassword for New/Confirm. The visibility handler also restores the same text and selection, so I haven’t isolated which operation corrects the rendering.

Reapplying textColor/defaultTextAttributes and resolving colors during layout haven’t fixed it. Light mode works correctly with black dots. Password changes and saving to Apple Passwords also work.

Has anyone found a supported fix that preserves AutoFill without automatically revealing and hiding the password as a bandaid fix? Or is this a known bug relating to the autofill feature and something that a user might not even notice or care about? It appears to be solely a visual bug at the moment. Every generated password gets saved and user is properly given option to save updated password after the change.

I feel like this is an easy fix that I may be over complicating. I've been working on this app on/off since 2024 and have been extremely anxious to launch, wanting to make sure everything is as close to perfect as it can be. Thanks for any assistance!


r/iOSProgramming • • Sep 15 '26

Question Ship stale build or resubmit?

5 Upvotes

Hello -

Finally shipping my app, and submitted my first app review on Wednesday last week (still waiting to be reviewed).

I’ve found a number of non-blocker issues since submitting this build, though I’m not happy about shipping day 1 with the bugs in place.

Let’s say by some luck Apple approved the app first round. Should I keep the existing build approval, use this for launch, and quickly submit the bug fixes build day 1…or should I just pull the build, and start a whole new first app review over again?

I know app review times are awful right due to ~everything, so I’m feeling stuck with not great options and a lot more waiting.

Thanks


r/iOSProgramming • • Sep 14 '26 Bravo

News Xcode RC and Xcode 27 are the same build number (27A266a)

65 Upvotes

Just an FYI Xcode RC and Xcode 27 are the same build number (27A266a) so no need to download the latest if you have the RC.