Skip to content

Bump iOS deployment target to 15+ (App Store minimum) #10

Description

@mobilinkd

Summary

The app currently targets iOS 9.3. Current Xcode 26.5 enforces iOS 15 as the minimum deployment target for App Store submissions. This blocks modernization (Combine, async/await) and prevents publishing updates.

Background

  • Current target: in .pbxproj
  • App Store minimum (Xcode 26.5): iOS 15
  • Test device: iPhone Xs on iOS 18.11

Scope

  1. Update to 15.0 across all build configs
  2. Fix deprecation warnings surfaced by the target bump
  3. Verify clean Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

ComputePackagePrebuildTargetDependencyGraph

Prepare packages

CreateBuildRequest

SendProjectDescription

CreateBuildOperation

ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (1 target)
Target 'Mobilinkd TNC Config' in project 'Mobilinkd TNC Config' (no dependencies)

GatherProvisioningInputs

CreateBuildDescription

ExecuteExternalTool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -v -E -dM -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.5.sdk -x c -c /dev/null

ExecuteExternalTool /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --version --output-format xml1

ExecuteExternalTool /Applications/Xcode.app/Contents/Developer/usr/bin/actool --print-asset-tag-combinations --output-format xml1 /Users/rob/git/iosTncConfig/Mobilinkd TNC Config/Assets.xcassets

ExecuteExternalTool /Applications/Xcode.app/Contents/Developer/usr/bin/actool --version --output-format xml1

ExecuteExternalTool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc --version

ExecuteExternalTool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -version_details

Build description signature: 4dd742eec813928dbbfe0732478e4d47
Build description path: /Users/rob/git/iosTncConfig/build/XCBuildData/4dd742eec813928dbbfe0732478e4d47.xcbuilddata
/Users/rob/git/iosTncConfig/Mobilinkd TNC Config.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.3, but the range of supported deployment target versions is 12.0 to 26.5.99. (in target 'Mobilinkd TNC Config' from project 'Mobilinkd TNC Config')
/Users/rob/git/iosTncConfig/Mobilinkd TNC Config.xcodeproj: error: No profiles for 'com.mobilinkd.iosConfigApp' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.mobilinkd.iosConfigApp'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'Mobilinkd TNC Config' from project 'Mobilinkd TNC Config')
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Mobilinkd TNC Config' from project 'Mobilinkd TNC Config')
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Mobilinkd TNC Config' from project 'Mobilinkd TNC Config') compile
4. Hardware-in-the-loop smoke test (BLE scan + connect + configure)

Acceptance Criteria

  • Build succeeds with iOS 15 target, zero warnings
  • App launches on test hardware
  • BLE scan discovers TNC device
  • Connect + configure cycle works end-to-end

/label enhancement
/assign @rob\n/milestone v1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions