XCode 12.0.1 и 12.1 не создают универсальные приложения

#macos #arm #macos-catalina #xcode12

#macos #arm #macos-каталина #xcode12

Вопрос:

Используя XCode 12.0.1 или 12.1 в macOS 10.15.7 на MacBook Pro, я не могу заставить свое приложение Mac OS скомпилироваться для архитектуры arm64 (т. Е. Создать Универсальное приложение).). Мой проект прошел через множество версий XCode, поэтому я подумал, что, возможно, он каким-то образом поврежден.

Итак, я создал новый проект приложения, не основанный на документах, в XCode. Затем я отредактировал схему запуска для сборки для выпуска. Настройки сборки по умолчанию включали архитектуру arm64, а для параметра «Строить только активную архитектуру» установлено значение «НЕТ» для выпуска. Затем я установил для настройки схемы панели инструментов значение buid для «Любого Mac», создал проект и просмотрел журнал сборки. Он создан только для архитектуры x86_64.

В документации Apple говорится, что она должна быть создана для обеих архитектур с этими настройками. Чего мне не хватает?

Ответ №1:

Проблема заключается в документации Apple, в которой четко указано, что XCode 12 создает универсальные приложения. На момент написания этой статьи вы НЕ должны использовать бета-версию xcode 12.

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

1. Это правда. Мои проекты macOS не компилируются для arm64 с Xcode 12.1, но они компилируются с Xcode 12.2 beta 4 (Release Candidate)

2. О, боже. Я потратил кучу времени, пытаясь разобраться в этом. Ах. Спасибо, это очень полезно.

Ответ №2:

У меня были старые Xcode-проекты, которые просто не создавали универсальные двоичные файлы. Это произошло из-за определяемой пользователем переменной VALID_ARCHS в одном из параметров сборки (в самом низу списка). После удаления были созданы универсальные двоичные файлы.