centralManager:didConnectPeripheral does not get invoked on iPhone 8 and iPhone X running iOS 11.3 but works fine on iPhone 6S+ and 7 also running iOS 11.3. The BLE connection establishes successfuly as verified on the peripheral side as well as in the iOS BLE system menu.
I am making sure to maintain a reference to the peripheral before calling connectPeripheral. We've seen no issues at all on iPhone 6S+. What's different across these phones and what can we do to make our code portable?