
Summary of notable changes in iOS app development (2026/07/22)
This page has been translated by machine translation. View original
When developing iOS apps, it's important to keep an eye not only on Apple's beta releases, but also on specification changes in the SDKs and tools you're using, from a maintenance perspective. This time, several changes with potentially wide impact overlapped over the past few days, so I decided to summarize the topics that caught my attention.
Apple
iOS & iPadOS 27 Beta 4 Release Notes Published
Almost all of the Known Issues from Beta 3 have been moved to Resolved Issues. Beta 4 feels considerably more stable. The newly added known issues are as follows:
- In TestFlight, refund requests, offer code redemption, and subscription management sheets are not displayed
- In Siri's navigation voice readout, word endings are cut off (workarounds are to lower the pitch/speed or turn off Expressive Voices)
Xcode 27 Beta 4 Release Notes Published
Beta 4 gives the impression of focusing more on bug fixes related to developer experience, such as around Previews, rather than new features.
- Fixed a hang in Previews when applying a large number of edits at once with AI-assisted editing
- Fixed canvas size reset in Resizable Canvas mode
- Fixed an issue where previews didn't work when selecting Mac Catalyst as the run destination
- LLDB can now inspect fields of
~Copyabletypes such as the standard library
Changes to Consider for App Maintenance
From the iOS 27 Beta 4 / Xcode 27 Beta 4 release notes, the following are likely to affect existing app code and implementations:
- [canOpenURL(_:)](https://developer.apple.com/documentation/uikit/uiapplication/canopenurl(_:\)) has been deprecated. Migration to an implementation that handles failure when attempting to open a URL without prior validation is recommended
- I believe this is because some apps/businesses were using this to check whether specific apps were installed and using that for marketing purposes, and countermeasures have now been taken
- A cumulative 10MB size limit has been set for
AppEntityinstances, and a known issue has been added stating that exceeding this limit may cause the app to crash - As a known Swift Compiler issue, depending on the declaration order of init accessors and getters, source incompatibilities derived from SE-0508 may occur. This can be avoided by declaring init accessors before getters
- Init accessors are a feature introduced in Swift 5.9 that allow custom assignment processing to be written when initializing a property. If a getter is declared first within the same type, it may be affected by this incompatibility
"Design Principles" Page Republished on HIG
The "Design Principles" page, which summarizes the fundamental principles that serve as design guidelines across the Apple platform, has been republished within the Human Interface Guidelines pages.
Claude Code
iOS Simulator Panel Added to Claude Code Desktop (macOS) in Public Beta
An "iOS Simulator panel" that displays the iOS simulator screen live when Claude builds, installs, and launches an app for review has been added as a public beta. A notable feature is that not only can you watch Claude's actions, but you can also tap and swipe to interact on the panel yourself. However, since screenshots taken are sent to and stored by Anthropic, it seems best not to use a device signed in with a real account.

At this time it is not available on the Enterprise plan, so for business use it will be necessary to wait until that is supported.
Firebase
Firebase Remote Config Pricing Changes
Firebase Remote Config, which has been provided free of charge until now, has been announced to switch to a new pricing structure starting September 1, 2026. The Spark plan (free) allows up to 100,000 requests per day for free, and exceeding that will require upgrading to the Blaze plan (pay-as-you-go).
| Requests per day | Price |
|---|---|
| Up to 100,000 requests | Free |
| 100,001–10,000,000 requests | $0.000006 per request |
| 10,000,001 requests and above | $0.000001 per request |
If the limit is exceeded for the first time on the Spark plan, a 30-day grace period is provided, and features such as personalization, rollouts, and A/B testing integration remain free on both Spark and Blaze plans.
Currently active projects are being given an additional grace period of several months beyond September 1, so there is no immediate rush, but since Remote Config was one of the few completely free products in Firebase, the impact is expected to be wide. Apps that fetch frequently should check their request counts sooner rather than later.
OSS
Self-Made Obfuscation Tool "Kura" Released
Having long struggled with build instability on Xcode Cloud caused by Ruby dependencies in cocoapods-keys and Arkana, I developed and released "Kura," a pure-Swift CLI tool that eliminates those dependencies.
It obfuscates secrets from .env files using XOR and salt, and generates type-safe Swift code. However, please note that this is obfuscation, not encryption—the generated code also embeds the salt for decryption, so values can be recovered if someone has access to the source or binary.
The background of its development and a comparison with existing tools are introduced in detail in the following article:
Summary
This time I covered the following topics: the resolution of a large number of known issues in Xcode 27 / iOS 27 Beta 4, the impact on app maintenance including the deprecation of canOpenURL(_:), the republication of the "Design Principles" page, the addition of the iOS simulator panel to Claude Code Desktop, the Firebase Remote Config pricing changes, and the release of my self-made obfuscation tool "Kura." The Remote Config changes in particular are likely to affect many apps that assumed free usage, so I'd recommend checking for impact sooner rather than later.
Since information surrounding iOS app development changes quickly, I plan to write another article the next time a batch of noteworthy changes accumulates.
