Хорошо, у меня есть способ заставить сборку работать (этот способ исправить проблему неверен, правильный способ исправления добавлен в мое обновление):
1 вам необходимо добавить проект Pods в ваш основной проект как внешний проект
2 явно добавьте все цели cocodpods в качестве зависимостей на этапе сборки вашего основного проекта
Но я все еще думаю, что, возможно, новая бета-версия xcode 12 исправит это. потому что это похоже на ошибку xcode 12 (мой проект отлично работает на устройстве xcode 11 и xcode 12 + ios, сбой только в симуляторе xcode 12 +)
### Обновление 2020-08-17 ###
Я нашел более точную причину для воспроизведения этой проблемы, похоже, мой файл проекта, открытый в xcode 12, автоматически сгенерирует макрос VALID_ARCHS в User-Defines, и этот макрос приведет к сбою сборки
![введите описание изображения здесь](https://i.stack.imgur.com/T5e0x.jpg)
И я обнаружил, что с помощью этого макроса во время создания LINK целевым типом ссылки будет неизвестный тип 'arm64-apple-ios11.0-simulator', что приведет к сбою сборки и проблема в том, что все цели строятся в неправильном порядке, кажется, произойдет только при добавлении этого макроса
XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios11.0-simulator
после того, как я удалю этот макрос VALID_ARCHS, целевой тип ссылки будет «x86_64-apple-ios11.0-simulator», и все будет хорошо
XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-ios11.0-simulator
#### 2020-09-11 добавить Добавить отзыв Apple об этом макросе ####
update Apple's Feedback on VALID_ARCHS
После рассмотрения вашего отзыва у нас есть для вас дополнительная информация:
Xcode не добавляет в ваш проект VALID_ARCHS. Действительно, мы не рекомендуем использовать VALID_ARCHS. Может быть, какой-то CocoaPod по какой-то причине устанавливает его в вашем проекте? CocoaPods не являются частью Xcode, поэтому у нас нет никакого контроля над тем, что они делают.
Следует отметить, что в Xcode 11 VALID_ARCHS появился в разделе «Архитектура». Поскольку мы настоятельно не рекомендуем его использовать, он больше не отображается там и теперь отображается в разделе «Определено пользователем», если он вообще определен.
Xcode 11 раньше автоматически переводил сборку для arm64 для симулятора в сборку для x86_64, но теперь, когда arm64 является допустимой архитектурой симулятора (это архитектура Apple Silicon), такой трансляции больше не происходит.
Итак, мы подозреваем, что вам следует полностью удалить VALID_ARCHS из вашего проекта и убедиться, что для Архитектур (ARCHS) установлено значение Стандартные архитектуры (ARCHS_STANDARD), а не что-то конкретное (если вы действительно не знаете, почему вы не используете ARCHS_STANDARD) .
#### Конец обратной связи ####
#### 2020-10-10 добавлено ####
сборка может по-прежнему не работать после удаления макроса VALID_ARCHS для некоторых парней, вы можете проверить ответ добавленной обратной связи Apple и ответ @Andrei Herford ниже:
убедитесь, что для параметра "Архитектура" (ARCHS) установлено значение "Стандартные архитектуры" (ARCHS_STANDARD)
а затем удалите макрос, надеюсь, эти два шага сработают для всех :)
#### 2020-10-10 добавлен конец ####
person
ximmyxiao
schedule
14.08.2020