#ios #xcode
#iOS #xcode
Вопрос:
Сегодня, после обновления Xcode и установки обновления macOS, появились ошибки, которых раньше не было.
И мое приложение расширения Watch теперь содержит ошибки:
Встроенная сборка в стиле GNU отключена:
- Не удалось собрать модуль ‘_Builtin_instrinsics’
- Не удалось собрать модуль ‘simd’
- Не удалось собрать модуль ‘SceneKit’
- Не удалось собрать модуль ‘WatchKit’
Я пока не нашел ответов, почему это произошло. На устройствах это работает нормально. Симулятор даже не собирается.
Приложения используют watchOS 2.0 и iOS 9.0.
Ответ №1:
В вашей целевой цели расширения WatchKit (или любой другой цели, на которую он жалуется), добавьте -fgnu-inline-asm
в Other C Flags
параметры сборки. Вам нужно будет подать радар, так как это выглядит как ошибка.
Комментарии:
1. большое вам спасибо за это решение! Кто-нибудь открывал radar? Если кто-нибудь знает, пожалуйста, предоставьте ссылку, чтобы перейти по ней
2. @intthy Нет способа следить за радаром, поскольку Apple не сообщает вам, кто был другим заявителем. Вам все равно придется отправить им отчет об ошибке, чтобы они отнеслись к нему серьезно. Было бы неплохо отметить этот ответ как правильный 🙂
Ответ №2:
Удаление пользовательского Enable Bitcode
параметра сборки ( ENABLE_BITCODE
) в целевом расширении WatchKit может решить проблему.
Все watchOS и tvOS принудительно включают Bitcode, ваши пользовательские настройки сборки приведут к ошибке Xcode 10.2 (игнорировалась до Xcode 10.1). на iOS это необязательно, и macOS не поддерживается.
Часто причиной ошибки является то, что вы устанавливаете это значение в настройках сборки xcconfig или на уровне проекта. Правильный способ установки битового кода в целевой версии iOS — это изменить настройку сборки только на уровне Tarfet (или записать xcconfig с фильтром SDK)
Комментарии:
1. Это не очень хорошее решение, вы хотите, чтобы в ваших приложениях был включен Bitcode, чтобы воспользоваться преимуществами нескольких оптимизаций после доставки и последующей обработки. Более того, WatchKit здесь всего лишь один пример — я видел, как это происходило и с моими фреймворками.