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

Support more than 5 devices #124

Open
NguyenHoangDuy2406 opened this issue Sep 16, 2023 · 15 comments
Open

Support more than 5 devices #124

NguyenHoangDuy2406 opened this issue Sep 16, 2023 · 15 comments

Comments

@NguyenHoangDuy2406
Copy link

I'm able setup and use remote control for iOS device base on this repository.
BUT now have a limitation is ONLY support 5 iOS devices.

Could you give me where can I update number of control device?

@Sin-Nguyen
Copy link

hi @NguyenHoangDuy2406 , Did you setup successfully with latest code ?

@NguyenHoangDuy2406
Copy link
Author

@Sin-Nguyen
yes, I'm still using it in my company.
Screenshot 2023-10-02 at 09 34 07

@Sin-Nguyen
Copy link

Sin-Nguyen commented Oct 2, 2023

Can you give me your email ? I would like to ask some questions relate to this setup.

@Sin-Nguyen
Copy link

Sin-Nguyen commented Oct 12, 2023

@NguyenHoangDuy2406 , Finally , IOS devices can work with my STF
image

@nanoscopic
Copy link
Collaborator

There is no restriction ( in the code itself ) on the number of devices that are supported by this.

Realistically it won't work with more than 5 devices connected to a single provider machine.

Even worse, it cannot realistically stream video simultaneously from more than 2 devices per provider.

The reason for the 2 device limitation is that the way stf_ios_support works it decodes video and re-encodes to frames on the provider.

The reason for the 5 device "limitation" is bugs within Apple usbmuxd code. If a Linux machine is used as the provider this limitation goes away.

So, what is necessary if the "5 device limitation" is to be "removed" is to:

  1. Not use MacOS as a provider ( use Linux )
  2. Change the video to use a video app like ControlFloor does

@Sin-Nguyen
Copy link

Hi @nanoscopic , currently performance of each IOS device a bit laggy.
Will controllfloor improve them ?
One issue detected:
If we not start quick time player first, devices will appeared on stf after run ./run command

@NguyenHoangDuy2406
Copy link
Author

Hi @nanoscopic
Nice to see your reply. So I understand the root cause of it.

I just want to make clear more details:

  • Not use MacOS as a provider ( use Linux ): But how can we control the iOS device without MacOS? As I know that we should use the MacOS as iOS provider, then we can connect it with an STF server (MacOS or Linux). If have any document related, please let me know.
  • Change the video to use a video app like ControlFloor does: I setup and used the ControlFloor also BUT I don't know how to connect it with the current STF. Do you have any sharing document or ref link to follow?

Many thanks about contribute this great repository, @nanoscopic

@NguyenHoangDuy2406
Copy link
Author

NguyenHoangDuy2406 commented Oct 16, 2023

@Sin-Nguyen @tuyenlq

Sorry for late reply, I'm too busy with my company now.
If you're facing any config problem, please let me know

@Sin-Nguyen
Copy link

Sin-Nguyen commented Oct 16, 2023

Hi @NguyenHoangDuy2406
The controlfloor will working with new ios version and latest wda ?

I think it out date for a long time

@NguyenHoangDuy2406
Copy link
Author

@Sin-Nguyen for case new wda (it's mean new iOS version), we should download the new wda from appium repo, then copy it into stf_ios_support, then build it again, we will get the build of new iOS version.

And one more thing when handling the wda version, please remember the tips also: please clone the wda build in /bin/wda > then update the version of it into the latest or specific version that device connected
Screenshot 2023-10-16 at 12 35 02

@wonsungkang
Copy link

@NguyenHoangDuy2406
Hello NguyenHoangDuy2406,
I noticed that you have successfully connected iOS devices to openSTF, and I'm reaching out for some guidance. Though we haven't met, your expertise in this area is something I'm keen to learn from.
Could you please share how you configured iOS devices on Provider A and Android devices on Provider B? I'm particularly interested in understanding if these are integrated with a server to be displayed on a single dashboard.
Additionally, I would be grateful if you could provide details about the setup process for Provider A with iOS, including how it's connected to the server. Your insights on this would be incredibly valuable.
Thank you in advance for your help.

@Jitu1888
Copy link

Jitu1888 commented Jan 4, 2024

@NguyenHoangDuy2406 need your help on making this iOS set up. Can you please help me out on this ?

@Jitu1888
Copy link

Jitu1888 commented Jan 7, 2024

@Sin-Nguyen need a small help from u. I m not getting the devices in stf.
I started stf locally on the same mac system where ios-provider is running.
image

Can you please help me out ?

@volvoeacs
Copy link

I am using Mac OS Samoa in Mac mini M2. While running make run I am getting below given error. Any resolution?
Mac-mini stf_ios_support % make clone
find: /usr/local/Cellar: No such file or directory
Missing brew package(s):
jq
graphicsmagick
zeromq
protobuf
yasm
pkg-config
carthage
automake
autoconf
libtool
wget
go
node@12
libsodium
czmq
jpeg-turbo
nanomsg
libgcrypt
gnutls
mobiledevice
Run init.sh to correct
make: jq: Command not found
make: jq: Command not found
make: jq: Command not found
git clone repos/WebDriverAgent --branch
error: option `branch' requires a value
make: *** [repos/WebDriverAgent] Error 129

@NguyenHoangDuy2406
Copy link
Author

@Jitu1888 do you try build wda via xcode manually on your device first? is it built successfully? Because I saw the iOS version is 17.1.1 (latest).
For this situation, whenever have new major iOS version, please following the steps below:

  • Clear xcode derived data
  • Delete <stf_ios_support>/bin/wda
  • Delete <stf_ios_support>/repos/WebDriverAgent
  • Download latest WDA: https://github.com/appium/WebDriverAgent to <stf_ios_support>/repos
  • Open WDA in xcode > config > build & run test WDA runner on your device => it must be successful here FIRST
  • Then execute command "cd <stf_ios_support> && make"

@volvoeacs you can download manually the repo WebDriverAgent from appium and comment out it in make file
one more thing that the last time I tried deploy it on Mac with Apple Silicon BUT no luck. Now my server only work on Mac with Intel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants