App works on IPv6-only networks
Why it matters
Apple requires all iOS apps to work on IPv6-only networks and tests this during review using an IPv6 NAT64 hotspot. Hardcoded IPv4 addresses (e.g., 192.168.1.100 that leaked from a development config) break immediately on IPv6-only networks because those addresses cannot be reached. This is a direct rejection cause for iOS submissions. ISO 25010:2011 operational-readiness requires software to function in the range of environments it claims to support — IPv6-only networks are widespread in cellular carrier environments and Apple's own review lab.
Severity rationale
Medium because IPv6 failures cause rejection only during Apple's specific IPv6 test, but that test reliably catches any hardcoded IPv4 production URL.
Remediation
Replace every hardcoded IPv4 address in production configuration with a hostname.
// src/config/api.ts
// Wrong — fails on IPv6-only networks:
export const API_URL = 'http://192.168.1.100:3000';
// Correct — DNS resolves to IPv4 or IPv6 as needed:
export const API_URL = process.env.EXPO_PUBLIC_API_URL ?? 'https://api.yourdomain.com';
To test IPv6 compatibility on macOS: go to System Settings > Sharing > Internet Sharing, share your Ethernet connection over Wi-Fi, enable "Enable IPv6" in the Wi-Fi options. Connect your test device to this hotspot and run the app. Any hardcoded IPv4 URL will fail immediately.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the App Store Review Blockers Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · apple-ipv6-requirement — Apple Technical Note — IPv6-only Network Requirement for App Store
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-review-blockers·automated