Ответ 1
Перейдите в раздел "Настройки сборки" и выполните действия, показанные ниже.
После миграции моей рамки на Xcode 10 beta (10L176w) я начал получать предупреждения, например:
Сопоставление архитектуры arm64 с x86_64. Убедитесь, что эта конфигурация для целевых архитектур и правильных архитектур настроена правильно для платформы iOS Simulator.
... а также:
Сопоставление архитектуры armv7 с i386. Убедитесь, что эта конфигурация для целевых архитектур и правильных архитектур настроена правильно для платформы iOS Simulator.
Несмотря на эти предупреждения, сборка и модульные тесты проходят успешно. Я использую Swift 4.2.
И все же, о чем эти предупреждения?
Перейдите в раздел "Настройки сборки" и выполните действия, показанные ниже.
Я смог заставить замолчать эти предупреждения, изменив настройку Valid Architectures на $(ARCHS_STANDARD)
которая также соответствует настройке моей архитектуры.
Как ни странно, это отображалось как armv7 arm64
(по сравнению с настройкой по умолчанию armv7 armv7s arm64
), но установка этого значения вручную все равно вызывала предупреждения. Не уверен, что это значит, но я не заметил никаких проблем в моем тестировании.
Вероятно, вы установили параметр сборки VALID_ARCHS ("Valid Architectures"), переопределенный как для цели, так и для ее проекта. Это параметр сборки, который должен автоматически получать его значение в зависимости от того, для какого места назначения вы создаете. Когда вы выясните, откуда это переопределение (параметр сборки будет выделен жирным шрифтом при переопределении), выберите его и нажмите клавишу удаления, чтобы восстановить значение по умолчанию.
Как и другие ответы, я смог удалить предупреждение, изменив $(VALID_ARCHS)
(Действительные архитектуры) на $(ARCHS_STANDARD)
. Оттуда я очистил все данные Derived и перезапустил Xcode 10.0. Это заставило предупреждение уйти полностью. При удалении всего из допустимых архитектур просто появилось другое предупреждение ("Не найдено правильных архитектур").
Для ЦЕЛИ, которая сообщает о предупреждениях, измените настройку "Действительная архитектура" на:
$(VALID_ARCHS)
x86_64
Я видел это предупреждение, когда пытался скомпилировать код для iOS и Mac OS. Я смог обойти это, сначала выполнив то, что Хасан Талеб предложил в своем ответе: расчистить архитектуры так, чтобы там были только действительные архитектуры iPhone. И наконец, чтобы сохранить возможность сборки для Mac OS, наведите указатель мыши на Действительные архитектуры, чтобы появилась кнопка "плюс". Щелкните по нему, а затем при необходимости вы сможете добавить отдельные настройки для разных платформ, включая разные архитектуры ЦП. Для macOS SDK я могу установить допустимые значения архитектуры x86_64, если захочу.
Решение проще: в Valid Architectures просто замените arm64 на x86_64.
В моем проекте была похожая проблема и следующие три предупреждения:
Мои действительные архитектуры изначально были
Замена:
(как упомянуто в Предупреждениях) было моим решением. Результат в настройке Действительной архитектуры был:
После замены мои три предупреждения выше исчезли.
Более подробную информацию об Архитектурах можно найти здесь: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
Я думаю, что формулировка этого предупреждения в XCode немного путаница.
Надеюсь это поможет
если ваши [настройки сборки] являются armv7 armv7s arm64, удалите armv7s. предупреждение будет отменено.