status-react/logs
Siddarth Kumar 5a7bfc61cc
fix: make run-ios-device script (#18845)
fixes #16310

We used to reply on `react-native cli` and would pass a `--device` flag to deploy the debug variant of `iOS` app on connected `iPhone`.
`react-native cli` under the hood uses `ios-deploy` library to achieve this functionality.
This showed many weird issues, specifically in locating connected devices and failures at build step with ambiguous error messages.

This commit fixes it by using our custom script `run-ios-devices.sh` which does not rely on `ios-deploy`.
We use `libimobiledevice` to identify `UDID` of a connected `iPhone`.
We use `xcrun devicectl device install app` and `xcrun devicectl device process launch` to install and launch the app.

This works well with `Xcode 15` and `iOS 17.x`.
We can now remove `ios-deploy` from `iOS` shell and `nix` overlay.
We also set up a logs folder and add a Readme.

## Review notes

- connect your iPhone to your Laptop via a cable
- `make run-clojure`
- `make run-ios-device`
(note: no need to pass device name now)

## Platforms
- iOS
2024-02-20 10:54:09 +05:30
..
README.md fix: make run-ios-device script (#18845) 2024-02-20 10:54:09 +05:30

README.md

Description

This directory is the destination of logs created during build time of debug builds.

Logs

  • xcrun_device_install.log - Output from status-mobile/scripts/run-ios-device.sh.
    • Created by redirecting output of xcrun simctl install "$UDID" "$APP_PATH".
  • xcrun_device_process_launch.log - Output from status-mobile/scripts/run-ios-device.sh.
    • Created by specifying --json-output flag for xcrun devicectl device process launch --no-activate --verbose --device "${DEVICE_UUID}" "${INSTALLATION_URL}".
  • xcrun_device_process_resume.log - Output from status-mobile/scripts/run-ios-device.sh.
    • Created by redirecting output of xcrun devicectl device process resume --device "${DEVICE_UUID}" --pid "${STATUS_PID}".
  • adb_install.log - Output from scripts/run-android.sh.
    • Created by redirecting output of adb install -r ./result/app-debug.apk.
  • adb_shell_monkey.log - Output from status-mobile/scripts/run-android.sh.
    • Created by redirecting output of adb shell monkey -p im.status.ethereum.debug 1 >.
  • ios_simulators_list.log - Output from status-mobile/scripts/run-ios.sh.
    • Created by redirecting output of xcrun simctl list devices -j.