Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update doc #91

Merged
merged 2 commits into from
Jan 24, 2025
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
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ The easiest way to run the provider is to do

Note: some features require direct access to the provider instance from the browser, so if you are running the provider on a different machine - make sure you pass accessible url to the --public-ip.

For iOS support:
1) You need to set up macOS node (for example we use Mac Mini on Intel Processor)
2) Then clone and build this repo
3) Also, you need to install pymobiledevice3
4) Now see [iOS doc](./doc/ios-device.md)
Comment on lines +28 to +32

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For iOS support:
1) You need to set up macOS node (for example we use Mac Mini on Intel Processor)
2) Then clone and build this repo
3) Also, you need to install pymobiledevice3
4) Now see [iOS doc](./doc/ios-device.md)
If you also want to add an iOS device see [this document](./doc/ios-device.md)


## Features

### Database
Expand Down
35 changes: 35 additions & 0 deletions doc/ios-device.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# iOS device launch via run-wda.sh

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# iOS device launch via run-wda.sh
# Adding an iOS device to DeviceHub


This script is designed to set up and run WebDriverAgent on an iOS device using `idb` and `pymobiledevice3`. It also sets up port forwarding for interacting with the device via `stf`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This script is designed to set up and run WebDriverAgent on an iOS device using `idb` and `pymobiledevice3`. It also sets up port forwarding for interacting with the device via `stf`.
See [lib/cli/ios-device/run-wda.sh](.lib/cli/ios-device/run-wda.sh)
This script is designed to set up and run WebDriverAgent on an iOS device using `idb` and `pymobiledevice3`. It also sets up port forwarding that is needed for the ios-provider.


## Requirements

- Installed `git`
- Installed `idb`
- Installed `pymobiledevice3`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Installed `pymobiledevice3`
- Installed `pymobiledevice3` (use our fork [https://github.com/irdkwmnsb/pymobiledevice3](https://github.com/irdkwmnsb/pymobiledevice3))

- Installed `xcodebuild`
- Installed `stf`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Installed `stf`
- Installed the `stf` command from this repository (clone this repository and do `npm ci` followed by `npm link`)

- Access to MongoDB which used by stf
Note: You need to create you own provisioning profile in XCode

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Note: You need to create you own provisioning profile in XCode
Note: You need to create you own provisioning profile in XCode for the [WebDriverAgent project](./WebDriverAgent)

## Usage

```bash
./run-wda.sh
```
or

```bash
./run-wda.sh [deviceId] [deviceNum]
```

## Determine the device identifier:

If deviceId is not specified, the script attempts to determine the first connected iOS device using idb list-targets.

## Determine the device name:

The device name is determined using idb list-targets.

## Port forwarding:

pymobiledevice3 is used to forward ports 9100 and 8100 (or their variations depending on deviceNum) to the device.