Xcode 13 Команда зависимостей диспетчера пакетов Swift CompileSwiftSources завершилась ошибкой с ненулевым кодом выхода

#ios #swift #xcode #swift-package-manager #xcode13

#iOS #быстрый #xcode #swift-менеджер пакетов #xcode13

Вопрос:

Я получаю ошибку сборки при попытке создать свой пакет диспетчера пакетов Swift:

 Command CompileSwiftSources failed with a nonzero exit code  

Это всегда происходит с зависимостями моего пакета, такими как KeychainSwift и ReactiveKit (хотя я видел это в других зависимостях).

Я попытался удалить производные данные, перезапустить Xcode, перезагрузить компьютер, перейти в Файл gt; Пакеты gt;gt; Сбросить кэш пакетов, попробовал как Xcode 13.2 beta 2, так и Xcode 13.1. Кроме того, я убедился, что мои зависимости от пакетов обновлены, но безуспешно.

Ответ №1:

Оказывается, когда я писал этот вопрос, я решил создать новый пакет, чтобы посмотреть, смогу ли я его воспроизвести. Простое копирование Package.swift файла работало нормально и не воспроизводило ошибку.

Но после копирования моего пути/исходных файлов я получил совершенно другую ошибку о том, что я не могу использовать раскадровки macOS в целевой системе iOS.

В этом примере проекта я смог добавить в целевой объект следующее:

 exclude: [  "ViewControllers/macOS" ],  

Это исправило проблемы со сборкой в этом примере пакета. Поэтому я скопировал это в основной пакет, и он работал отлично, без ошибок сборки.

Я абсолютно не понимаю, почему Xcode показал случайное сообщение об ошибке вместо подробного, которое могло бы помочь мне в дальнейшей отладке. Но, надеюсь, этот совет кому-нибудь поможет. Попробуйте создать совершенно новый пакет и посмотреть, не приведет ли это к лучшему сообщению об ошибке, и убедитесь, что вы не смешиваете код конкретной платформы в один целевой объект.