Weird iOS Connection problem

Hi,
I am a teacher. In two of my schools students that use Android connect their phones to their projects without problem, but iPhone owners don't. They all show the progress bar, but for the the iOS users they remain stuck at 15%.
The computers and the phones are on the same WIFI network. I noticed that the iOS version is 2.64.5 whereas the Android is at 2.72 - does this make a difference?
The craziest part is that at my home both versions work OK.

To summarize - I have inconsistency between iPhone and Android in the same school, and also inconsistency between my home network and the school...

Following up on a previous thread (from 2021) I have several questions to @ewpatton :
https://community.appinventor.mit.edu/t/ios-connection-error-stalls/29343/2

  1. Does IOS still require a WIFI connection or can it now also use a cellular data like the Android version?
  2. In the previous post you indicated that the IT needs to keep port 8001 open for connections to the phone - does this apply only to iPhone or is it required for both?
  3. Most of the students are using code.appinventor.mit.edu. Does this make any difference?
    Did anyone else here run into this problem recently and found a solution?
    Thank you
    Yossi Yaron

That probably indicates your school is blocking access to something the ios Companion needs.

ios requires the companion for ios, Android requires companion 2.72.

@SteveJG - Obviously... the question is what causes the problem and how to solve it.
I just edited the post and added the fact that most of the students are using https://code.appinventor.mit.edu

Until MIT responds (they have been alerted to your peril) Your school IT might find this information regarding what App Inventor for ios needs white listed in the document Letter for IT Professionals in Schools for Using App Inventor - Google Docs

Checklist for All Features

as described

1 Like

We are not seeing any iOS connections issue from our end. Are you able to reach https://rendezvous.appinventor.mit.edu from those devices?

No, it is possible to use cellular since we added support for WebRTC in addition to legacy mode, just like Android. Getting stuck at 15% suggests the WebRTC negotiation isn't proceeding, which might mean your network is blocking it.

Port 8001 is only needed for legacy connections since in legacy mode the phone hosts a webserver on that port to facilitate the companion communication.

This should not make a difference as the code deployed on both servers is the same w.r.t. the companion connection. The only difference between them is how projects are stored on the server, which is not involved in the connection handshake.

@ewpatton - by asking "are you able to reach https://rendezvous.appinventor.mit.edu "
would you like me to try to ping that site from the iOS phone ?

Thanks for the detailed response.
We are now on a school break because of the Jewish holidays. I will try to visit the school next week and run some further tests.
You wrote "Getting stuck at 15% suggests the WebRTC negotiation isn't proceeding, which might mean your network is blocking it." I am trying to understand how come the network is blocking the connection to the iOS devices but not to the Android devices.
What do you suggest that I try/test?
Opening ports on the network involves a lot of red tape, but it can be done (though I need to be very specific).

You should be able to open it in Safari or another browser on the iOS device. The second thing is that if you go to chrome://webrtc-internals/, you can create a dump after the connection gets stuck that we can use to learn more about why the connection is failing.

Update: the Internet Service Provider opened port 8001 (I filed the request before getting your response).
Now everything works OK - I tested on an old iPhone 8 plus running iOS 15.3.1.
The emulator also works OK on some of the computers so it seems that the network issues were resolved.
The ISP may have opened additional things (I have no direct connection with them) or you changed something on your end.
Either way, thank you!