Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions examples/ios/devbox.lock
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,10 @@
"last_modified": "2026-02-15T17:45:47Z",
"resolved": "github:NixOS/nixpkgs/ac055f38c798b0d87695240c7b761b82fc7e5bc2?lastModified=1771177547"
},
"github:segment-integrations/mobile-devtools?dir=segkit&ref=main": {
"last_modified": "2026-05-08T18:52:56Z",
"resolved": "github:segment-integrations/mobile-devtools/725aff9a75fa0ae7269f0f6dbf36fa5611b0664c?dir=segkit&lastModified=1778266376"
},
"gnugrep@latest": {
"last_modified": "2026-01-23T17:20:52Z",
"resolved": "github:NixOS/nixpkgs/a1bab9e494f5f4939442a57a58d0449a109593fe#gnugrep",
Expand Down
4 changes: 4 additions & 0 deletions examples/react-native/devbox.lock
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,10 @@
"last_modified": "2026-02-15T17:45:47Z",
"resolved": "github:NixOS/nixpkgs/ac055f38c798b0d87695240c7b761b82fc7e5bc2?lastModified=1771177547"
},
"github:segment-integrations/mobile-devtools?dir=segkit&ref=main": {
"last_modified": "2026-05-08T18:52:56Z",
"resolved": "github:segment-integrations/mobile-devtools/725aff9a75fa0ae7269f0f6dbf36fa5611b0664c?dir=segkit&lastModified=1778266376"
},
"gnugrep@latest": {
"last_modified": "2026-01-23T17:20:52Z",
"resolved": "github:NixOS/nixpkgs/a1bab9e494f5f4939442a57a58d0449a109593fe#gnugrep",
Expand Down
10 changes: 9 additions & 1 deletion plugins/ios/virtenv/scripts/init/doctor.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,15 @@ else
DOCTOR_CHECKS_PASSED=$((DOCTOR_CHECKS_PASSED + 1))
fi

# Check 3: Device lock file
# Check 3: applesimutils (required for Detox iOS testing)
if command -v applesimutils >/dev/null 2>&1; then
DOCTOR_CHECKS_PASSED=$((DOCTOR_CHECKS_PASSED + 1))
else
issues+=("applesimutils not installed (run: segkit setup)")
DOCTOR_CHECKS_WARNED=$((DOCTOR_CHECKS_WARNED + 1))
fi

# Check 4: Device lock file
config_dir=$(doctor_resolve_config_dir 2>/dev/null || echo "${IOS_CONFIG_DIR:-./devbox.d/ios}")
devices_dir="${IOS_DEVICES_DIR:-${config_dir}/devices}"
lock_file="${devices_dir}/devices.lock"
Expand Down
5 changes: 5 additions & 0 deletions plugins/ios/virtenv/scripts/init/init-hook.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ if [ "$(uname -s)" != "Darwin" ]; then
exit 0
fi

# Ensure iOS dependencies (Homebrew, applesimutils) are installed
if command -v segkit >/dev/null 2>&1; then
segkit doctor --fix || true
fi

# Find virtenv directory
VIRTENV_DIR="${IOS_SCRIPTS_DIR:-}/.."
if [ -z "$VIRTENV_DIR" ] || [ "$VIRTENV_DIR" = "/.." ]; then
Expand Down
19 changes: 18 additions & 1 deletion plugins/ios/virtenv/scripts/platform/core.sh
Original file line number Diff line number Diff line change
Expand Up @@ -212,11 +212,28 @@ ios_setup_native_toolchain() {
done
IFS="$_ntc_oifs"

# Prepend Xcode and system tool paths
# Prepend Xcode, system, and Homebrew tool paths
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
if [ -n "${DEVELOPER_DIR:-}" ]; then
PATH="$DEVELOPER_DIR/usr/bin:$PATH"
fi
# Add specific Homebrew-installed tools needed for iOS development.
# We symlink individual binaries into a private dir rather than adding
# all of /opt/homebrew/bin, to avoid conflicts with user-installed
# packages (e.g. node via Homebrew shadowing the Nix-provided one).
_ntc_brew_shims="${IOS_SCRIPTS_DIR:-/tmp}/../brew-shims"
mkdir -p "$_ntc_brew_shims" 2>/dev/null || true
for _ntc_tool in applesimutils; do
for _ntc_brew_dir in /opt/homebrew/bin /usr/local/bin; do
if [ -x "$_ntc_brew_dir/$_ntc_tool" ] && [ ! -e "$_ntc_brew_shims/$_ntc_tool" ]; then
ln -sf "$_ntc_brew_dir/$_ntc_tool" "$_ntc_brew_shims/$_ntc_tool" 2>/dev/null || true
break
fi
done
done
if [ -d "$_ntc_brew_shims" ]; then
PATH="$PATH:$_ntc_brew_shims"
fi
PATH="$PATH:$_ntc_clean"
export PATH
fi
Expand Down
7 changes: 7 additions & 0 deletions plugins/ios/virtenv/scripts/user/doctor.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,13 @@ doctor_check_command "xcodebuild" "xcodebuild" "false"
doctor_check_command "xcbeautify" "xcbeautify (for pretty build output)" "false"
doctor_check_command "pod" "CocoaPods" "false"

# applesimutils (required for Detox iOS testing)
if command -v applesimutils >/dev/null 2>&1; then
doctor_check_pass "applesimutils (for Detox iOS testing)"
else
doctor_check_warn "applesimutils" "Not installed. Run: segkit setup"
fi

# Check jq (needed for config operations)
doctor_check_command "jq" "jq (for config operations)" "false"

Expand Down
Loading
Loading