#while-loop #crash #release #swift4.2 #xcode10.1
#цикл while #сбой #выпуск #swift4.2 #xcode10.1
Вопрос:
Я обновил свой xcode 9.4 до 10.1 и swift 3.3 до 4.2. У меня в приложении есть следующий код, который повторяет цикл while и ожидает, пока флаг (isReceivedAdTagResponse) не станет истинным.
while self.isReceivedAdTagResponse == false
{
continue
}
Этот код отлично работает в режиме отладки, но вылетает в режиме выпуска. Странно, что тот же код работает и в режиме выпуска, если я просто добавлю инструкцию print.
while self.isReceivedAdTagResponse == false
{
print("hi")
continue
}
Где-то я нашел решение для изменения параметра сборки «Уровень оптимизации» на None [-O0], и это работает. ……….»………..»
Я хочу выпустить приложение в магазин. Произойдет ли сбой моего приложения, если я сохраню режим запуска в качестве режима отладки и заархивирую сборку релиза?
Или мне нужно изменить параметр сборки «Уровень оптимизации» на None [-O0] перед его выпуском. Хорошая ли это практика?
Я немного сбит с толку. Пожалуйста, укажите.
Комментарии:
1. Это не имеет ничего общего с debug или release build. «Ждать» в цикле — очень плохая идея, даже несмотря на то, что .isReceived иtagresponse потокобезопасны. НЕ ИСПОЛЬЗУЙТЕ ЭТО!!! НИКОГДА!!!
2. Я действительно понимаю, но я готов изменить это в следующем выпуске, пожалуйста. Потому что код уже написан, и я должен срочно выполнить сборку релиза. пожалуйста, помогите с решением.