Fix IPv6 App Store Rejection and Architecture Errors for iOS Apps

This guide explains why an iOS app may be rejected for IPv6 incompatibility, how to set up a local IPv6 test environment with two iPhones and a Mac, troubleshoot network bugs, update the Reachability library, and strip unsupported architectures from frameworks to resolve App Store upload errors.

BiCaiJia Technology Team
BiCaiJia Technology Team
BiCaiJia Technology Team
Fix IPv6 App Store Rejection and Architecture Errors for iOS Apps

1. App Store IPv6 Rejection

When submitting the app to the App Store, it was rejected because the login page did not respond on an iPhone running iOS 10.2 connected to an IPv6 network.

2. Understanding IPv6

IPv6 (Internet Protocol Version 6) is the next‑generation IP protocol designed by the IETF to replace IPv4. It provides a larger address space; in China IPv6 is mainly used by the education network and is not yet supported by the three major carriers.

3. Setting Up an IPv6 Test Environment

Steps:

Prepare two iPhones and a Mac.

Connect one iPhone to the Mac via USB, enable the Mac’s 4G hotspot, and share the connection over USB.

Open System Preferences on the Mac, hold the Option key and click the network icon to reveal hidden settings.

Enable Internet Sharing; the Mac’s status bar will show the shared connection.

Connect the second iPhone to the shared network.

After configuration the iPhone shows an IPv6 address, confirming the test environment is active.

4. Testing and Debugging IPv6 Issues

Initial tests showed the app could log in, but network monitoring was unreliable. Updating all third‑party pods did not solve the problem. The Reachability library version needed to be updated to a version that supports IPv6 (download from Apple’s developer site).

5. Solving App Store Upload Errors

The upload produced several ITMS errors (UnsupportedArchitectures, Invalid SegmentAlignment, encryption info missing, not a Position Independent Executable). The cause was that the framework contained simulator architectures [x86_64, i386]. Switching the SDK to the release version fixed the issue.

For custom SDKs you can add a Run Script phase that strips unused architectures from embedded frameworks:

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# Loop through embedded frameworks and remove unused architectures
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK; do
  FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
  FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
  echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
  EXTRACTED_ARCHS=()
  for ARCH in $ARCHS; do
    echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
    lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
    EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
  done
  echo "Merging extracted architectures: ${ARCHS}"
  lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
  rm "${EXTRACTED_ARCHS[@]}"
  echo "Replacing original executable with thinned version"
  rm "$FRAMEWORK_EXECUTABLE_PATH"
  mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done

After updating the Reachability library and running the script, the app passes the IPv6 test and uploads without errors.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

IPv6architectureiOSXcodeApp StoreReachability
BiCaiJia Technology Team
Written by

BiCaiJia Technology Team

BiCaiJia Technology Team

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.