2016-05-22 4 views
0

Мое приложение зависает только в конфигурации Release.
Я разыскал вопрос к этой установке:Быстрая оптимизация компилятора вызывает зависание

enter image description here

Не секрет, что Swift компилятор глючит. Я никогда не видел сбоя компилятора (и часто авария).

Итак, «безопасно» отправить в App Store с уровнем оптимизации, установленным на «None»?
Какой-нибудь опыт?

ответ

1

Apple не рекомендует отправлять ваше приложение без оптимизации компилятора. [1]

Нет: Компилятор не пытается оптимизировать код. Используйте эту опцию во время разработки, когда вы сосредоточены на решении логических ошибок и нужно быстрое время компиляции. Не используйте эту опцию для доставки вашего исполняемого файла.

Взято из apple.developer.com.

Хотя существует оптимизация компилятора ошибка, [2] Xcode, вероятно, не является источником проблемы, как объяснено в ответе при условии here на StackOverflow пользователя @ kfmfe04:

В некоторых крайне редких случаях, код отладки работает, но сбой кода . Когда это происходит, почти всегда проблема заключается в моем коде; агрессивная оптимизация выпуска сборки может выявить ошибки, приводившие МИС-понятые времена жизни временных и т.д ...


Помните, что вы всегда можете отследить источник проблемы, исследуя скомпилированный файл сборки, но для понимания того, что делает компилятор под капотом, потребуется некоторое знание ASM.

В настройках Xcode:

Debug -> Debug Workflow -> Always Show Disassembly

Тогда вы поставите точку останова, где вы хотите, чтобы проверить код ASM.

+0

Однако Apple также рекомендует отправлять приложения, которые не замерзают. –

+0

Вы спрашивали о том, что «безопасно» делать. Отправка приложения без оптимизации компилятора, вероятно, приведет к его отклонению. –

+0

Я спрашиваю, есть ли у кого-то опыт отправки сборки без оптимизаций. Это может быть моим единственным вариантом, если я не найду причину проблемы. И источник проблемы, вероятно, в библиотеке, которую я использую. –