Ошибка сборки XCode 13 — XCode 12 работает нормально — не удалось построить модуль «Дарвин»

#ios #swift #objective-c #xcode #xcode13

Вопрос:

У меня возникли проблемы при создании проекта с помощью XCode 13 (то же сообщение об ошибке с XCode 13.1 и 13.2 (бета-версия)). XCode 12.5.1 по-прежнему работает нормально.

Удаление папки «DerivedData» не изменяет ошибку. Мой проект выполняет некоторую перекрестную компиляцию с другим рабочим пространством XCode, созданным CMake. Я сомневаюсь, что это связано с основной причиной проблемы, потому что ошибка возникает после перекрестной компиляции. В проекте используется Swift и некоторый устаревший код Objective-C. Сбой происходит на Compile Swift source files (arm64) -> Precompile bridging header (arm64)

Вот выдержка из сообщения об ошибке:

 <module-includes>:392:9: note: in file included from <module-includes>:392:
#import "netinet6/ipsec.h"
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/include/netinet6/ipsec.h:132:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
        uuid_string_t wake_uuid;
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/include/device/device_types.h:89:33: note: 'io_string_t' declared here
typedef char                    io_string_t[512];
 

У вас есть какие-либо идеи о том, что я делаю неправильно или что я должен попытаться построить XCode 13?
Спасибо за каждый комментарий. Я отчаянно пытаюсь решить эту проблему.

Подробная информация о сообщении об ошибке:

Подробности о моем окружении:

  • Я использую Mac Mini M1
    • ошибка такая же, как и в Mac Mini с intel
  • Mac OS 11.6
    • обновление до Mac OS 12 не помогло
  • вывод brew doctor :
     Your system is ready to brew.
     
  • Выбранные средства командной строки:

Комментарии:

1. вы обновили свою систему сборки? я также застрял после обновления xcode, но после обновления устаревшей системы сборки до новой системы сборки и очистки данных на диске и еще одного удаления info.plist из исходного кода компиляции и добавления снова

2. Я проверил настройки своего проекта: «Общие настройки проекта» установлены на новую систему сборки. Проект с ошибкой сборки использует конфигурацию общей системы сборки. Я не думаю, что у меня есть какая-либо информация.plist на этапе компиляции. Я удалил ссылку и прочитал файл. Но в любом случае я не вижу никакого файла plist в выводе ошибок, который я связал (см. patebin.com)

3. Можете ли вы построить какие-либо другие проекты, используя эти две машины? Даже простой проект HelloWorld со смешанным Swift и ObjC для тестирования сред сборки. Есть ли различия при построении в командной строке с помощью xcodebuild и через XCode?

4. Да, похоже, проблема не в этом. Но я нашел обходной путь: 1. Удалите «ModuleCache.noindex» в папке «DerivedData» 2. Удалите пути поиска заголовков в настройках сборки, которые ссылаются на пользовательские библиотеки CMake C/C 3. запустите сборку 4. сборка завершится неудачно 5. отмените изменения в путях поиска заголовков в настройках сборки 6. запустите сборку -> успешно-Это, кажется, требуется каждый раз, когда содержимое ModuleCache.noindex попадает в плохое состояние