diff --git a/apps/ios/TeleTuiIOS/README.md b/apps/ios/TeleTuiIOS/README.md index e7ff9ed..e07d390 100644 --- a/apps/ios/TeleTuiIOS/README.md +++ b/apps/ios/TeleTuiIOS/README.md @@ -15,8 +15,15 @@ cd apps/ios/TeleTuiIOS swift run TeleTuiIOSSmokeTests ``` -Simulator/device build is currently blocked on this machine because `xcodebuild -version` fails with: +Simulator/device build is currently blocked until the Xcode license is accepted. +Xcode is installed at `/Applications/Xcode.app`, and `DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -version` reports Xcode 26.5, but `xcrun simctl` fails with: ```text -xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance +You have not agreed to the Xcode license agreements. Please run 'sudo xcodebuild -license' from within a Terminal window to review and agree to the Xcode and Apple SDKs license. +``` + +After accepting the license, verify local iOS tooling with: + +```bash +DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer scripts/check-ios-prereqs.sh ``` diff --git a/crates/tele-ios-ffi/README.md b/crates/tele-ios-ffi/README.md index ad79172..72e1a27 100644 --- a/crates/tele-ios-ffi/README.md +++ b/crates/tele-ios-ffi/README.md @@ -20,6 +20,7 @@ XCFramework-compatible module map under `build/ios-ffi/`. Known blocker: -- `xcodebuild -version` currently fails on this machine because only Command Line Tools are selected: - `xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance`. -- Real TDLib iOS simulator/device linking therefore is not validated in this phase. +- Xcode is installed at `/Applications/Xcode.app`, and `DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -version` reports Xcode 26.5. +- `xcrun simctl` currently fails because the Xcode license has not been accepted: + `You have not agreed to the Xcode license agreements. Please run 'sudo xcodebuild -license' from within a Terminal window to review and agree to the Xcode and Apple SDKs license.` +- Real TDLib iOS simulator/device linking therefore is not validated yet. diff --git a/docs/ios/hardening.md b/docs/ios/hardening.md index 130d64a..5c8f1db 100644 --- a/docs/ios/hardening.md +++ b/docs/ios/hardening.md @@ -1,11 +1,11 @@ # iOS Hardening Notes -Phase 6 real-device validation is blocked on this machine until full Xcode is selected. +Phase 6 real-device validation is blocked on this machine until the Xcode license is accepted. Current local blocker: ```text -xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance +You have not agreed to the Xcode license agreements. Please run 'sudo xcodebuild -license' from within a Terminal window to review and agree to the Xcode and Apple SDKs license. ``` Implemented hardening hooks: diff --git a/docs/ios/release-checklist.md b/docs/ios/release-checklist.md index a616d53..670d8ef 100644 --- a/docs/ios/release-checklist.md +++ b/docs/ios/release-checklist.md @@ -10,7 +10,7 @@ ## Required Before TestFlight -1. Install and select full Xcode with `xcode-select`. +1. Install full Xcode, accept the license, and verify `scripts/check-ios-prereqs.sh`. 2. Create the Xcode app project or wire the Swift package into an Xcode app target. 3. Add app icon, launch screen, bundle id, signing team, notification capability, and entitlements. 4. Build TDLib for simulator and device architectures. diff --git a/scripts/check-ios-prereqs.sh b/scripts/check-ios-prereqs.sh new file mode 100755 index 0000000..a2bee4b --- /dev/null +++ b/scripts/check-ios-prereqs.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ -z "${DEVELOPER_DIR:-}" && -d /Applications/Xcode.app/Contents/Developer ]]; then + export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer +fi + +printf 'Developer dir: %s\n' "${DEVELOPER_DIR:-$(xcode-select -p 2>/dev/null || true)}" +xcodebuild -version +xcrun simctl list devices available +swift --version + +printf 'iOS prerequisites are available.\n'