#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 в одном из параметров сборки (в самом низу списка). После удаления были созданы универсальные двоичные файлы.