Одна важная вещь, на которую мне потребовалось время, чтобы заметить, это то, что симулятор не поддерживает токены устройства, поэтому любой код, который включает те токены, не будет работать на симуляторе.
У меня была ошибка, при которой приложение нормально работало на симуляторе, но зависало, когда я запускал его на устройстве из-за ошибки в коде токена устройства. Я не мог понять это в течение самого долгого времени!