3 Replies
      Latest reply on Jan 21, 2020 1:19 PM by BarryD0706
      BarryD0706 Level 1 Level 1 (0 points)

        It doesn't work.

         

        I have an MFi device paired but not connected in my Bluetooth devices list. The manufacturer says it does IAP. Even with a nil predicate, the showBluetoothAccessoryPicker brings up an empty screen (and when it does that, it logs this nasty message about "This NSLayoutConstraint is being configured with a constant that exceeds internal limits" (that people have been complaining about for a couple of years). Having the MFi device already connected also doesn't cause the Picker to show it.

         

        Am I doing something wrong, or is this just messed up?

         

             Barry

        • Re: showBluetoothAccessoryPicker
          Claude31 Level 8 Level 8 (7,895 points)

          It doesn't work.

           

          Really, without details of your code, of what you expect, of what you get, this is useless.

           

          Even with a nil predicate, the showBluetoothAccessoryPicker brings up an empty screen

               Show the code

           

          it logs this nasty message about "This NSLayoutConstraint is being configured with a constant that exceeds internal limits" (that people have been complaining about for a couple of years)

               Show the messages

          • Re: showBluetoothAccessoryPicker
            TomerN Level 1 Level 1 (10 points)

            The picker views only unpaired MFi devices.

            The EAAcessory framework does not provide an API to connect to a device.

            The MFi device can initiate connection to the iPhone - so if your device can supports GATT you can use CoreBluetooth to connect to the device and ask it to connect over iAP.

            Another options is the "bridging" feature mentioned in the last WWDC session about CoreBluetooth - with this feature the iPhone connects to the classic bluetooth device when it discover this device over BLE.

              • Re: showBluetoothAccessoryPicker
                BarryD0706 Level 1 Level 1 (0 points)

                TomerN,

                thanks for your reply. This function would not be useful at all if it only finds unpaired devices. So it finds an unpaired device (which I first had to manually put into pairing mode), lists the device, I select it (which causes it to pair) and then it never shows up again? The doc does say "pairs the device" so you are probably right.

                 

                So I tried it that way. Did "Forget This Device" on one of them, put it into pairing mode (which causes it to show up at the bottom of my Bluetooth Settings in "Other Devices"), ran the picker, and it still gives me a screen with no items.

                 

                I've opened trouble ticket FB7545602.

                 

                For your other suggestions, good ideas, but these devices don't do BLE and so no GATT.