Я только что обновил Xcode до 11.4, и при архивации проекта он показывает «Ошибка сегментации 11»
Этот проект архивировал бы с Xcode 11.3.1, но теперь это не ..
Кто-нибудь еще сталкивался с такой же проблемой?
Изменить: 15 апреля 2020
Apple только что выпустила Xcode 11.4.1
swift
xcode
segmentation-fault
Артур Маркетто
источник
источник
Ответы:
Я столкнулся с той же проблемой. В архивировании используется конфигурация сборки выпуска, поэтому я проверил все настройки компилятора, чтобы выяснить, какие из различий приводят к этим сбоям сегментации.
В моем случае проблема исчезает , когда я изменить параметр Enable Тестируемости в YES для выпуска .
Нет, я понятия не имею, какие минусы у этого есть в архиве или сборке релиза, или действительно, почему этот конкретный параметр облегчает проблему, но в итоге у меня есть проект, который занял год, чтобы добраться до этой стадии и я очень хочу передать это внутренним бета-тестерам, так что я собираюсь представить это через тестовый полет и посмотреть, как я пойду.
Мне кажется, это определенно ошибка Apple, так как компилятор не должен быть Seg Faulting вообще. Тот факт, что он компилируется в конфигурации Debug, подтверждает это. Мой проект настолько большой, что я не знаю, как воспроизвести это, чтобы отправить сообщение об ошибке, но я посмотрю, смогу ли я получить ответ на форумах Apple.
источник
Для меня помог найти проблему, когда я установил в настройках сборки,
SWIFT_COMPILATION_MODE
чтобыwholemodule
. Затем после компиляции получил более конкретную ошибку, которая привела к функции класса, которая вызвала ошибку. Потом поменял его обратно как есть.Может быть, это поможет вам тоже.
В моем случае для набора параметров ввода init использовался троичный оператор. Похоже, Swift 5.2 больше не поддерживает его.
источник
В моем случае у меня была ошибка с Eureka pod
В файле Pods я предоставил последнюю версию:
Также
SWIFT_COMPILATION_MODE
установите дляwholemodule
.источник
Я поменял
#imageLiteral(resourceName: "image_name")
наUIImage(imageLiteralResourceName: "image_name")
источник
Как и другие респонденты, здесь была ошибка SwiftUI, скрытая в сообщениях об ошибках здесь (с использованием Xcode 11.4). В моем случае использование
.embedInScrollView()
было причиной ошибки сборки. Отключение этих звонков исправило это. В качестве обходного пути я поместил.embedInScrollView()
в ViewModifier, как это:Затем я использую этот модификатор, немного похожий на исходный вызов, например:
Это означает, что вы все еще можете встраивать в scrollView, но ошибки Seg 11 исчезают.
источник
К сожалению, решение Enable Testability не сработало для меня.
Временный обходной путь (до тех пор, пока Apple не исправит проблему компилятора Xcode 11.4 Swift) состоит в том, чтобы переключить Уровень оптимизации на « Без оптимизации » для выпуска, для цели, которая завершается ошибкой (
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
). Это работает над нашим проектом, который разделен на несколько структур. Просто нужно установить на-Onone
.Но документация Apple просит не отправлять ваш код с этим флагом . Он предназначен для разработки, выполняет минимальные оптимизации и сохраняет всю информацию отладки.
Я думаю, что мы должны ждать: '(
источник
Я получил это исключение, и архивные журналы помогли мне понять, что это было в определенном файле SwiftUI. Оказалось, что в процессе исключения я оставил
contentInsets()
иalwaysBounceVertical()
модификаторы,VStack
которые не были частьюList
:Удаление этих модификаторов позволило архиву релиза завершиться успешно.
источник