После переноса моей платформы на бета-версию Xcode 10 (10L176w) я начал получать такие предупреждения, как:
Сопоставление архитектуры arm64 с x86_64. Убедитесь, что параметры сборки этой целевой архитектуры и допустимые архитектуры настроены правильно для платформы iOS Simulator.
... а также:
Сопоставление архитектуры armv7 с i386. Убедитесь, что параметры сборки этой целевой архитектуры и допустимые архитектуры настроены правильно для платформы iOS Simulator.
Несмотря на эти предупреждения, сборка и модульные тесты проходят успешно. Я использую Swift 4.2.
Тем не менее, о чем эти предупреждения?
ARCHS = $(ARCHS_STANDARD_64_BIT)
VALID_ARCHS = $(inherited) x86_64 i386
Ответы:
Перейдите в настройки сборки и сделайте, как показано ниже.
источник
There are no valid architectures to compile for because the VALID_ARCHS build setting is an empty list
Я был в состоянии заглушить эти предупреждения, изменяя мои Правильные Architectures установки на
$(ARCHS_STANDARD)
который соответствует моему Architectures настройки , а также.Как ни странно, это отображается как
armv7 arm64
(по сравнению с настройкой по умолчаниюarmv7 armv7s arm64
), но установка этого значения вручную по-прежнему вызывает предупреждения. Не уверен, каково это значение, но я еще не заметил никаких проблем в своем тестировании.источник
Вероятно, у вас есть переопределенный параметр сборки VALID_ARCHS («Допустимые архитектуры») либо для цели, либо для ее проекта. Это параметр сборки, который должен получать свое значение автоматически в зависимости от того, для какого места запуска вы создаете. Когда вы выясните, откуда происходит это переопределение (параметр сборки будет отображаться жирным шрифтом при переопределении), выберите его и нажмите клавишу удаления, чтобы восстановить его до значения по умолчанию.
источник
VALID_ARCHS
. Он содержитarm64
как для отладки, так и для выпуска.VALID_ARCHS
чтобы установить их по умолчанию, а затем снова очистить и закрыть / открыть Xcode, чтобы он полностью работал для меняДля TARGET, который сообщает о предупреждениях, измените параметр «Действительная архитектура» на:
$(VALID_ARCHS) x86_64
источник
Как и в других ответах, мне удалось удалить предупреждение, изменив
$(VALID_ARCHS)
(Действительные архитектуры) на$(ARCHS_STANDARD)
. Оттуда я очистил все производные данные и перезапустил Xcode 10.0. Это заставило предупреждение полностью исчезнуть. При удалении всего из Valid Architectures просто появилось другое предупреждение («Действительные архитектуры не найдены»).источник
Решение проще: в Valid Architectures просто замените arm64 на x86_64 .
В моем проекте была аналогичная проблема и следующие три предупреждения:
Мои действительные архитектуры изначально были
Замена:
(как упоминалось в предупреждениях) было моим решением. Результат в настройке действительной архитектуры был:
После замен исчезли три моих предупреждения выше.
Более подробную информацию об Архитектурах можно найти здесь: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
Я думаю, что формулировка этого предупреждения в Xcode немного сбивает с толку.
источник
Если вы столкнулись с проблемой во Flutter:
Удалите Podfile, Podfile.lock, папку Pods, Runner.xcworkspace, Flutter.framework.
Беги
flutter clean
.flutter build ios
.источник
Я видел это предупреждение, когда пытался скомпилировать код для iOS и Mac OS. Мне удалось обойти это, сначала выполнив то, что предложил Хасан Талеб в своем ответе: очистить архитектуры, чтобы там были только допустимые архитектуры iPhone. И, наконец, чтобы сохранить возможность сборки для Mac OS, наведите указатель мыши на «Действительные архитектуры», чтобы появилась кнопка «плюс». Щелкните по нему, а затем вы можете добавить отдельные настройки для разных платформ по мере необходимости, включая разные архитектуры ЦП. Для macOS SDK я могу установить допустимую архитектуру только на x86_64, если захочу.
источник
Я обнаружил, что самый простой способ решить эту проблему - открыть проект в моем текстовом редакторе, а затем найти и удалить все
VALID_ARCHS
строки.источник
Я тоже столкнулся с той же проблемой. Для решения проблемы я только что изменил систему сборки со стандартной на устаревшую, и это решило проблему.
источник
Я видел такое же предупреждение, когда строил свой фреймворк. Через некоторое время заметил, что эти допустимые значения архитектуры различаются в зависимости от типа устройств независимо от значений в настройках сборки.
Real devices-> arm64 Simulator devices ->x86-64
источник
если ваши [Настройки сборки] - armv7 armv7s arm64, удалите armv7s. предупреждение будет отменено.
источник