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