Що вам потрібно зробити , це просто встановити , ONLY_ACTIVE_ARCH
щоб NO
(принаймні у мене працює). Нижче наведено скріншот для цього:
Редагувати:
Наскільки я знаю ( будь ласка , вкажіть це, якщо є що - то не так, спасибі ), якщо ви встановите ONLY_ACTIVE_ARCH
на YES
, це означає , що Xcode буде будувати тільки для активної архітектури (яка відноситься до пристрою , яке входить в Xcode в даний час). Здається, для налаштування Xcode за замовчуванням встановлено значення Налагодження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
» працює? Оскільки пристрій все ще може працювати з двійковим файлом, створеним для всіх доданих архітектур (пройти збірку), але втратить певну продуктивність. Це просто швидке рішення, але не найкраще.
Примітка . Чим більше архітектур ви додали, тим більше буде сформовано двійковий файл. Тож добре вибрати правильні архітектури для свого проекту. ;)