Skip to content
axintdocs

Apple 27 compatibility

Apple beta notes mix four different kinds of information: new capabilities, deprecations, active bugs, and resolved bugs. Axint keeps those states separate so a temporary workaround does not become a permanent diagnostic.

Area What Axint checks
SwiftUI @State Declaration-site initialization that conflicts with assignment in init, plus extension delegation to synthesized initializers the macro can disable
SwiftUI documents FileDocument, ReferenceFileDocument, and reader/writer isolation migrations
TabView A selected path that points at an explicitly hidden tab
Text selection .textSelection(.enabled) next to a competing custom gesture without an explicit priority policy
Toolbar minimization The renamed .toolbarMinimizationBehavior(...) API
Text fields Migration from soft-deprecated square and rounded border styles to .bordered
Foundation Models Private Cloud Compute code that omits explicit sampling behavior
On Demand Resources NSBundleResourceRequest usage that should move toward Background Assets

The toolbar and text-field migrations have deterministic fixes shared by the CLI and the Xcode Source Editor Extension. The other checks stay advisory because the correct change can depend on project intent.

The beta catalog tracks issues that static source cannot decide:

  • workout audio may not appear through RelevantEntities
  • Shortcuts “Describe a change” may discard intents containing Duration or LPLinkMetadata
  • Shortcuts Use Model may fail for some on-device output types
  • Siri may ignore custom map-schema values
  • CallKit call starts may fail through phone.startCall
  • ambiguous OpenIntent and system.open targets may resolve incorrectly
  • CoreAI models converted with older tooling may need reconversion
  • pre-beta-3 .aimodelc artifacts may need recompilation

The earlier Private Cloud Compute Simulator limitation is marked resolved. Axint does not continue emitting the old device-only workaround.

Removed linker path

-ld_classic is an error because Xcode 27 removes ld64 and the classic linker option.

Unique Clang modules

Module-map inspection finds duplicate module names visible to one Swift dependency scan.

Build-server Interface Builder

Simulator compilation mode is reported as an informational migration toward Xcode’s toolchain mode.

Bounded test repetition

Helpers generate swift test --maximum-repetitions ... --repeat-until ... arguments for flaky-test proof.

Stable Xcode remains the strict release path while Xcode 27 is in beta. CI runs the beta toolchain as a forward-looking canary.

App Store Connect API 4.4.1 introduces version-scoped metadata for in-app purchases, subscriptions, and subscription groups. Axint can detect:

  • deprecated v1 localization, image, and submission resources
  • review submission items that reference unversioned commerce objects
  • age-rating payloads missing socialMedia and socialMediaAgeRestricted
import { analyzeAppStoreConnect441Request } from "@axint/compiler";
const findings = analyzeAppStoreConnect441Request({
path: "/v1/reviewSubmissionItems",
body: submissionItem,
});
Terminal window
npm test
npm run benchmark:brownfield:check
npm run mcp:production:check
npx tsx scripts/wwdc-diff.ts --snapshot

The nightly SDK scanner is symlink-safe and bounded by depth, file, and entry budgets, so a compatibility link cannot consume the entire monitoring job.