Я думаю, вы не можете проверить это в Xcode.
У меня есть приложение на iOS и watchOS. Чтобы проверить ситуацию такого рода, я могу включить отладочные оповещения на iOS и watchOS. Когда срабатывает func sessionReachabilityDidChange(session: WCSession)
, я отображаю сообщение об отладке.
Теперь, если я запустил (не в Xcode) расширение своих часов, а затем выключил парное iPhone, предупреждение отладки отобразится на часах.
Это показывает, что sessionReachabilityDidChange
фактически вызывается, как и ожидалось.
По-видимому, в Xcode подключенное устройство iOS всегда доступно.
РЕДАКТИРОВАТЬ:
Чтобы проверить ситуацию, когда расширение часов находится не на переднем плане, я сделал следующее:
Вместо того, чтобы показывать предупреждение об отладке, я теперь установил усложнение на уникальное значение, которое иначе невозможно. Я запустил расширение часов и перевел его в фоновый режим, показав циферблат с усложнением.
Когда я теперь выключаю iPhone, усложнение не обновлено.
Это указывает на мне, что sessionReachabilityDidChange
не вызывается в фоновом режиме.