Что вам нужно сделать , это просто установить , ONLY_ACTIVE_ARCH
чтобы NO
(по крайней мере у меня работает). Ниже приведен скриншот для этого:
РЕДАКТИРОВАТЬ:
Насколько я знаю ( пожалуйста , укажите это, если есть что - то не так, спасибо ), если вы установите ONLY_ACTIVE_ARCH
на YES
, это означает , что Xcode будет строить только для активной архитектуры (которая относится к устройству , которое входит в Xcode в настоящее время). Кажется, для Xcode по умолчанию установлено значение Debug YES
, поэтому он не будет создавать двоичные файлы для других архитектур, если вы хотите создавать только для специального устройства, подключенного к вашему Mac.
Причиной неудачной сборки может быть то, что проект не поддерживает архитектуру подключенного устройства. Поэтому лучшее решение - добавить правильную архитектуру для вашего устройства. Ниже приведен список архитектур и устройств, которые поддерживают:
- ARMv8 / ARM64:
iPhone 6
, iPhone 5s
, iPad Air
,Retina iPad Mini
- ARMv7s:
iPhone 5
, iPhone 5c
,iPad 4
- ARMv7:
iPhone 3GS
, iPhone 4
, iPhone 4S
, iPod 3G/4G/5G
, iPad
, iPad 2
, iPad 3
,iPad Mini
- ARMv6:
iPhone
, iPhone 3G
,iPod 1G/2G
Так почему «установить ONLY_ACTIVE_ARCH
в NO
» работает? Поскольку устройство все еще может запускать двоичный файл, созданный для всех архитектур, которые вы добавили (пропустите сборку), но он потеряет некоторую производительность. Это просто быстрое решение, но не лучшее.
Примечание . Чем больше архитектур вы добавили, тем больше будет создан двоичный файл. Поэтому хорошо выбрать правильную архитектуру для вашего проекта. ;)