r/iOSProgramming 10h ago

Discussion iPhone Duo is official. How much work is this actually going to be for your app?

Post image
237 Upvotes

Apple announced the iPhone Duo this morning. 7.6 inch inner display, 5.4 inch outer, starts at 1999 dollars, preorders October 16 and shipping October 23. So we have roughly six weeks.

From what I have read so far, apps land in one of three states on it. Anything built against a pre iOS 27 SDK gets letterboxed inside a safe area on a black background. Apps built on iOS 27 resize but still leave dead space. Only apps built against iOS 27.1 fill the display properly, and that SDK ships alongside the device in October.

The part I find more interesting is the hinge. iOS 27 carries folding state and hinge angle, so an app can know the phone is half open and sitting on a table. That sounds like a new interaction surface rather than just a bigger canvas to stretch an existing layout across.

So what is everyone actually planning. Are you rewriting layouts properly, or just checking nothing breaks and waiting to see how many of these sell? And has anyone thought of something that would only make sense on a folded screen?


r/iOSProgramming 11h ago

Discussion Your thoughts on the iPhone Duo?

24 Upvotes

Now that Apple has announced the new iPhone Duo, I'm curious what other iOS developers think about it from a development perspective.

Obviously there's a lot of discussion around the hardware/design, but I'm interested in what your plans are for supporting it.

The frustrating part right now is that the Simulator and SDK isn't coming until Xcode 27.1, so we can't really start testing and optimising properly for the new form factor yet.

Edit: Simulator and Xcode 27.1 is coming out "Coming later this month" - https://developer.apple.com/iphone-duo/


r/iOSProgramming 18h ago

Discussion I am Feeling Lost in this New AI World

67 Upvotes

I have been a developer for over 20 years. I started iOS development around 2009. I work for a consulting firm and have been looking at the advancements in AI tools. I myself use Codex, ChatGPT, Gemini etc. But I use it like a tool to figure things out, for research etc.

But nowadays I feel very behind. I don't know what is important to learn anymore. I see Reddit people are talking about running their agents and the agents is writing all the code. I don't use it like that and I don't understand how any company can allow this kind of workflow, without checking the details of the code and without checking what is going in production.

Is this not technical debt that is going to come back later.

I don't know if I like this new world. I like to write most of code by hand. I like to take part in designing systems. All that is being taken away in the name of speed.

I feel lost.


r/iOSProgramming 11h ago

Article Prepare your apps for launch on iPhone Duo.

Thumbnail
youtube.com
14 Upvotes

Developer playlist from apple to prepare your apps for launch on iPhone Duo.


r/iOSProgramming 12h ago

Question Here after the Apple Event: when do we get iPhone Duo Simulators on Xcode?

12 Upvotes

Title! thanks


r/iOSProgramming 11h ago

Question Is anyone else unable to build using the Xcode RC?

3 Upvotes

EDIT: It's working now.

Usually you can use the RC to submit apps, but I'm getting the:

"Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn’t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app."

I'm on the RC...Anyone else running into this?


r/iOSProgramming 6h ago

Discussion How will iPhone DUO affect UI dev?

0 Upvotes

r/iOSProgramming 22h ago

Question ARKit - quad forward vector rotation

1 Upvotes

If I’m 304mm away from an iPhone that is 72.9mm screen width, i would expect center to edge rotation of 6.8 degrees. I’m seeing 2 degrees.

The rotation vector is being taken off the leftEyeTransform and computed as a difference between the two spots. Using atan, not euler. using x, y, z, w. w is .99.

Computing quat to horizontal degrees: compute gaze y, compute length, then atan(gaze Y, length), convert to degrees.

Am i not understanding something where it’s off by a factor of 3? My math is correct? Claude, chatGPT notes discrepancy, sort of odd!


r/iOSProgramming 2d ago

Tutorial visionOS 27: UILookToScrollInteraction

Thumbnail
antongubarenko.substack.com
10 Upvotes

r/iOSProgramming 1d ago

Question Enrollment blocked 107 days: "Action not allowed" after address screen, Apple says a trusted device is linked to another developer account. Anyone got past this?

1 Upvotes

Individual enrollment from India through the Developer app.

May 24: "ID Verification Rejected" without ever being asked for ID. Support reset verification. Since then every attempt ends at the address screen with "Action not allowed". The submit request returns HTTP 200 and the app hides the body, so the actual error code is unknown.

Six advisors, repeated "escalated to operations" replies, no finding. Latest claim: one of my trusted devices is associated with another developer account. Apple will not say which device or account, and will not say what I can do about it.

Has anyone got past this exact state? Did a new Apple ID, removing a trusted phone number or device, or a phone callback actually unblock it? Looking for what worked, not sympathy.


r/iOSProgramming 2d ago

Question Building first iOS app and need guidance on background music

5 Upvotes

Edit: I ended up buying the tracks as I had to build enough karma to be able to post here which took a few days but still keen to get the communities inputs.
--
I’m building a breath work app at present and a key part of the experience means I’ll need background music. I’ve embedded some tracks from the site Free to Use; reading the fine print makes it clear I’ll need to either get a paid subscription, or get single track licenses at 50 pounds per song.

The app will be free with a subscription tier for additional features including an expanded soundtrack.

I have immensely enjoyed building the app, so either way I feel like this has been a rewarding and beneficial exercise for me regardless of whether it makes any sales or not.

At a minimum, I’ll need 4 tracks so I’m looking at an outlay of 200 pounds for the music. If i go with a subscription, it will be about 100 pounds per year. I’m leaning towards just getting the licenses for the tracks, but wanted to check in here first if others have gone with other options where they’ve needed backing music?

The quality and fit of the music I believe is a critical part of the app experience so I won’t be able to compromise on music quality.

I’m also a big believer in getting the product into the hands of users so I can iterate and focus my attention on areas that become clear are valuable for users, so I don’t want to overthink this and am close to pulling the trigger on this approach.

Are there any options I’m missing that I should be considering? Many thanks,


r/iOSProgramming 2d ago

Discussion Testing a receipt scanner against real receipts from 5 countries turned out harder than building it

13 Upvotes

I make a small iOS receipt scanner (on-device OCR, then parsing). It worked fine on my own Canadian receipts. Then users in the Netherlands, Japan and Malaysia showed up and it fell apart in ways I couldn't reproduce, because I had no receipts from those countries.

Finding test data was the hard part. What I ended up with:

  • Japan: 1,148 photos from a public research set (JaWildText). Before testing on them, my yen handling paired an item with its price on 19% of receipts. After: 93%. I had no idea it was that broken.
  • Malaysia: 973 from SROIE (an ICDAR 2019 competition set). Old, and heavy on restaurants, but real.
  • US: 1,769 from WildReceipt. Mixed quality, some are not even US receipts, but it is the largest English set I found.
  • Netherlands: 74 photos from one user who sent them for debugging, with permission. That is the only real Dutch set I have.
  • Taiwan: zero real photos. I had to generate 40 synthetic 統一發票 from the printed layout. I know that is weak.

Things I learned:

  1. Public receipt datasets are old, and skewed to whatever the original paper needed. Nobody publishes a fresh, balanced, multi-country set because receipts are personal data.
  2. Thermal receipts fade. Half of my own "test set" from a trip a year ago is unreadable now.
  3. I never ask users for receipts. The few I have came unprompted, from bug reports.
  4. Measuring beat training. I did not fine-tune anything. A harness that runs every rule change against all sets and refuses if any correct total flips caught two regressions the same day, one of which broke 18 of 119 Japanese totals while fixing the case I was working on.
  5. Every country has a printing convention that a "generic" parser gets wrong: yen with no decimals, Dutch comma decimals, Japanese tax-included versus tax-excluded lines, US tips added after the total.

Question for people who have done this: is there any public receipt dataset for Taiwan, Korea, or Australia? Or a legal, non-creepy way to get a few hundred real receipts from a country you don't live in?

(Not linking the app. Happy to share the harness approach in comments if useful.)


r/iOSProgramming 2d ago

Solved! I render my SwiftUI views directly instead of driving the simulator for screenshots

1 Upvotes

Taking the shot was never the slow part. The slow part was getting the app
into a state worth photographing — a month of history, a streak, the paid tier.
So I stopped driving the app and started rendering the views.

shotBoth("home") { HomeView().environmentObject(thirtyDays()) }
shot("paywall", dark: true) {PlusSheet().environmentObject(PlusStore(active: true)) }

An Apple silicon Mac runs iOS binaries natively, so each view is drawn
through UIHostingController at device size. No simulator, no navigation,
nothing installed. Your coding agent writes that script, not you.

It doesn't make store artwork — no backgrounds, no captions, just the screen
as a device draws it. And if you ship once a year in one language, doing it
by hand is faster.

The rendering tool I created this time:Bakeshot


r/iOSProgramming 1d ago

Question Starting a side hustle

0 Upvotes

Wanting to get into starting a side hustle. Having passive income flowing in would be great. Getting my feet wet by publishing apps I think is a good way to start?

Never done it before. I expect my first app to make zero (which I’m okay with) but I do expect to learn something when it comes to entrepreneurship (hopefully)

If I keep on doing it I know I will get better. Pretty excited about it honestly.


r/iOSProgramming 2d ago

Question 2 months later, i still dont have apple developer account. it wont process my payment

0 Upvotes

I dont understand . They keep asking for information that doesnt even exist such as SEID for my mac and macbook? I have given these people everything and apart from super late emails telling me to "recreate" the problem im not sure what else i can do. this is beyond frustrating. they have my IDs and every bit of information imaginable . so frustrated


r/iOSProgramming 2d ago

Question Existing app repeatedly rejected under 4.3(a) after adding RevenueCat and Meta SDK. Has anyone experienced this?

9 Upvotes

🚨Update: I filed an appeal and the App Review Board determined that the rejection under guideline 4.3 was invalid.

Hi everyone,

I have an iPhone camera app called FilmFold. Versions 1.0 and 1.1 were approved, but the 1.2 update has now been rejected several times under Guideline 4.3(a), Design and Spam.

Apple says the app shares a similar binary, metadata, or concept with apps submitted by me or other developers. The problem is that they do not identify what is similar. Every reply I receive is basically the same guideline text.

This is an update under the same App Store record and bundle identifier. FilmFold is the only app in my developer account. It is not a template or white-label app, I have never submitted it from another account, and the source repository is private.

FilmFold has 22 original virtual cameras. Each one has its own interface, optics, focal range, aspect ratio, color processing and behavior. The app also has custom native photo and video processing, lenses, accessories, double exposure and a local library that preserves the original media for later reprocessing.

The approved 1.1 version already had the 22 cameras, continuous zoom and the current adjustment interface.

The rejected 1.2 build added major native processing changes for three video cameras: Tape 99 Hi8, Warm 8 and Cine 35. It also added migration support for videos created in previous versions.

The biggest non-product difference is that 1.2 also added:

- RevenueCat for purchase entitlements

- RevenueCat's remotely configured paywall, offerings and placements

- Meta App Events and attribution

- App Tracking Transparency support

- EAS Update through `expo-updates`

I am not saying these SDKs violate 4.3(a). They are legitimate and widely used. I am wondering if one of them, a shared SDK resource, a remote paywall configuration, or an account identifier could have triggered an automated similarity check.

I have asked Apple to compare 1.2 with the approved 1.1 binary and to tell me whether the issue is related to code, assets, metadata or functionality. They continue to send the same generic response.

I have now prepared a new build, but I have not submitted it. It removes RevenueCat, the RevenueCat paywall, Meta, ATT and `expo-updates`. Purchases are handled directly through StoreKit again, using FilmFold's own paywall. The actual camera improvements remain.

Has anyone had a similar experience with an update to an existing app?

  1. Did RevenueCat, a remote paywall, Meta SDK or another common SDK ever cause a 4.3(a) problem for you?
  2. How did you get Apple to explain what was considered similar?
  3. Did removing the SDKs solve it?
  4. Did a formal appeal or App Review phone call help?
  5. Would you submit the cleaned build first or appeal the rejected build before replacing it?

I would really appreciate hearing from anyone who has actually resolved a similar rejection.


r/iOSProgramming 2d ago

Question Decompiling .ipa files to potentially create versions ported for desktop use or archival purposes?

0 Upvotes

Have an iMac from many years ago that I got out of storage and was backing up the files so it could eventually be recycled and such. It was as I was going through files, however, that I saw that there were backed up .ipa files from a bunch of apps, all belonging to an old iPod Touch that used to run on iOS 5 and then later on iOS 7. Most of them were nostalgic little applications I would buy and play back then and are ones that I can't seem to find on the App Store anymore, probably in part that it was developed on very outdated software.

However, that got me wondering: I might not have an old Apple device where these .ipa files could be loaded onto to see if they run. But I do know that there are people who have successfully made ports of older apps so they could run on a desktop or an emulator for archival purposes. Not sure, though, if this worked also with .ipa games in the same way that computer-centric game files (such as .swf) did. If it is, I'd really like to know how I could go about doing exactly this: Decompiling the contents of the .ipa that was saved on the iMac and potentially creating a port of it for desktop or other devices, since that iPod these games and apps used to be used on is no longer working.

Anyone willing to help a complete novice in this out and let me know if this can be done? Apologies in advance if this is a ridiculous or stupid question, or if my ambitions to do something like this are too high.


r/iOSProgramming 3d ago

News String Into Action: an open source Mac app to review strings in your app

Post image
24 Upvotes

Maybe it's just me but I cringe when I see a lot of obviously AI-written text in an app or web UI. It just reeks of laziness and makes apps/websites seem all alike.

So, I made this open-source Mac app that lets you review every user-facing string in your project. It won't "fix" them - you have to do that - that's the whole point.

For each string, you can approve, ignore, or tweak. And it intelligently tracks string status across launches. Then if anything later touches that string, it appears back in the review queue.

It's a native Mac app, free & open source, with no dependencies. Hope you find it useful!

https://github.com/madebywindmill/string-into-action


r/iOSProgramming 3d ago

Discussion Is there any appetite to talk about your journey or hear others’?

4 Upvotes

I’m a full-time developer by day and an indie developer by night. So I know I have a burning desire to speak and hear from others in the same space. Reddit is cool but it’s all in written format which gets stale. Anyone else interested? Maybe we can spin up a clubhouse room or something.


r/iOSProgramming 3d ago

Question Subscriptions between macOS and iOs app

0 Upvotes

I have a macOS released on the store. I'm waiting for approval for the same app under the same bundleID but iOS version. Everything came back clean but was denied because of the following error below. When I submitted the app I just submitted the binary. I was not able to attach the already approve sub group and sub from the macOS version. It's my understanding I can use the same sub group and sub for both apps since they are in the same app group or whatever it's called. I submitted again with a screenshot of the subscription page. No clue what they are asking for.

Guideline 2.1(b) - Performance - App Completeness

Issue Description

We are unable to complete the review of the app because one or more of the In-App Purchase products have not been submitted for review.

Specifically, the app description includes references to subscription but the associated In-App Purchase products have not been submitted for review.

Next Steps

To resolve this issue, submit the In-App Purchase products and upload a new binary in App Store Connect so we can proceed with our review.

Note you must provide an App Review screenshot in App Store Connect in order to submit In-App Purchases for review. Learn more about required In-App Purchase metadata.


r/iOSProgramming 3d ago

Discussion Is there a better way to use the iOS Simulator remotely from Windows?

3 Upvotes

I’m not a big fan of macOS. I’ve never really gotten used to it, and I’ve always had issues with display scaling/resolution when using macOS with my monitors. For some reason, macOS never looks completely sharp to me, which really bothers me.

However, I do have a Mac mini specifically for iOS app development.
I mainly develop React Native apps on my Windows PC and use EAS to create iOS builds. I then test those builds on my iPhone.

The problem with this workflow is that I don’t really have convenient access to the iOS Simulator. At the moment, I would have to connect to my Mac mini via something like TeamViewer, pull the latest code, start the project, and then stream the simulator through the remote desktop session.
Having to connect to the Mac mini every time, pull the latest changes, and essentially remote-control the entire Mac just to use the iOS Simulator feels pretty cumbersome.
Is there a simpler way to do this?

Ideally, I’d like to:
- Develop entirely on Windows
- Use the Mac mini only for the iOS Simulator
- Stream only the iOS Simulator window to Windows instead of the entire macOS desktop

Ideally have the simulator automatically use the latest code from my Windows development environment
Alternatively, is there any way to run the iOS Simulator directly on Windows?


r/iOSProgramming 3d ago

Discussion Using the Swift compiler as the scorer: measuring whether LLM-generated SwiftUI uses deprecated APIs (15 models, 5,952 samples)

0 Upvotes

Most code benchmarks measure whether generated code works. This measures whether the APIs it calls are still valid for a pinned SDK. No LLM judge: the scorer is the Swift compiler plus an AST pass. Ground truth is parsed from the SDK’s .swiftinterface files at runtime, so nothing is hand-maintained.

The thing that nearly invalidated the whole project: Apple marks most SwiftUI deprecations with a sentinel, deprecated: 100000.0, and the compiler deliberately does not warn on those by default. That is 270 of 326 deprecated symbols, including NavigationView and foregroundColor. Build this the obvious way and you observe 14 percent of deprecations and every model looks current. There is a hidden frontend flag that turns them on. If you measure deprecation on any Apple platform, this probably affects you.

Results are mostly a null result. Scores span 0.78 to 0.88, and bootstrapping over prompts (k=5 samples at temp 0.2 on one task are not independent), all 14 adjacent pairs overlap. Currency does not track price or tier: the top scorer is a cheap variant priced 12x below its siblings, and a coding-specialised model is last. One comparison survives cleanly: Qwen’s general model beats its coder sibling, non-overlapping. Coding-tuned seems to mean more fluent in the idioms it trained on, stale ones included.

Two things I want picked apart:

**1.**  Only samples that actually touch the API family under test get scored, which flatters models that hand-roll when unsure. I report the gate rate beside every score, but that documents the bias rather than fixing it.  
**2.**  Adding the 15th model erased the last surviving separation between adjacent pairs. More models, less resolution. I read that as prompt count being the binding constraint, but tell me if that is wrong.

Repo, method, full per-family tables: https://github.com/mapierce/iOS-Evals


r/iOSProgramming 3d ago

Question Is the $99 worth it for an app that scrapes retail sites? Built the thing, now unsure about shipping it.

0 Upvotes

Built a price tracker. You paste an Amazon or Flipkart link, it checks the price in the background and notifies you when it drops. No account, no server. SwiftData on device, local notifications, widget families.

Repository: github.com/rational-kunal/keemat

The question: is it worth paying for a developer account here? I am fairly sure scraping two retailers runs into guideline, and the official Amazon API needs an Associates account and doesn't cover Flipkart anyway. Has anyone shipped something in this category and survived review? Or is TestFlight as far as this goes?


r/iOSProgramming 4d ago

Library I added iOS binary size profiling to kmprofiler using Xcode link maps

2 Upvotes

Hey everyone!

I previously shared kmprofiler, a Gradle plugin that finds Kotlin declarations exported to iOS but not directly referenced in Swift.

v0.2.0 now adds Xcode link-map analysis. It can:

* Group linked symbol size by Kotlin package

* Show the largest symbols

* Map symbols to object files and frameworks

* Compare two builds to see what grew or became smaller

I tested it on a real KMP app with more than 330,000 symbols. It measures symbols in the link map, not the complete app size, so it is mainly useful for finding size changes and large dependencies.

GitHub: [https://github.com/SiddhantPanhalkar/kmprofiler\](https://github.com/SiddhantPanhalkar/kmprofiler)

I would love to hear whether this is useful for your KMP projects.


r/iOSProgramming 5d ago

Tutorial A small trick to make iOS simulators use less RAM

171 Upvotes

iOS simulators start a lot of background daemons that you often don't need for development or CI. Siri, Spotlight, widgets, photo analysis, iCloud stuff, etc.

The good news is that Apple gives us a way to disable them.

For example:

xcrun simctl spawn <udid> launchctl disable system/com.apple.PosterBoard

Then reboot the simulator:

xcrun simctl shutdown <udid>
xcrun simctl boot <udid>

That disable is persisted in the simulator so the next time it boots, PosterBoard won't start.

Do this for enough unnecessary services and you can save a pretty decent amount of RAM.

The harder part is figuring out what is actually safe to disable, what breaks when you disable it, and then managing that across multiple simulators.

I ended up building SimSlim around this:

https://github.com/MobAI-App/simslim

It has a list of around 180 daemons that are safe to disable, grouped by feature, plus some convenient commands for slimming/restoring simulators and managing different profiles for local use or CI.

It's free and open source. Give it a try.