iOSDC2020

  • How to connect and synchronize 20-30 devices simultaneously

    • Conditions: 20-30 devices, no internet required
  • Idea 1: Core Bluetooth

    • Can create a network with a central node and multiple peripheral nodes
    • However, it can only support a maximum of 4-5 devices
      • It is possible to create a network on a tree structure to overcome this limitation, but it is too unstable and therefore not recommended.
  • Idea 2: Multipeer Connectivity

    • Unlike Core Bluetooth,
      • Supports multiple connections (more devices)
      • Whether it uses Bluetooth or Wi-Fi is abstracted and not visible
    • A leader device needs to be designated
      • The device with the largest PeerID (randomly assigned) is chosen as the leader for convenience
    • The leader creates multiple sessions and connects to each child device
      • Why multiple sessions? It is recommended to keep the number of connections in Multipeer Connectivity to around 7-8.
    • If a new device has a larger PeerID than the current leader: a new session is started with the new device as the leader
    • If the leader device leaves: a new session is started with a new leader
    • These features allow for the creation of an organic network.
  • However, there was a comment on NicoNico that said:

    • I have experienced significant lag when demonstrating MultiConnectivity at an exhibition venue…

  • So caution is advised.