Как устранить ошибку «Исполняемый файл приложения отсутствует требуемая архитектура» с помощью MonoTouch? - PullRequest
1 голос
/ 16 августа 2011

В настоящее время мы не используем компилятор LLVM.Я обнаружил, что при компиляции с «Минимальной версией ОС», установленной на 4.0, загрузчик приложений возвращает сообщение об ошибке: iPhone / IPod Touch: в исполняемом файле приложения отсутствует необходимая архитектура.Должна присутствовать хотя бы одна из следующих архитектур: armv7

Я заметил, что это произошло и до последнего выпуска MonoTouch ... но в то время компилятор LLVM работал для моего проектаи ошибка не произошла с LLVM.Похоже, что введение компилятора LLVM привело к тому, что «старый» метод компиляции как-то прекратил помечать исполняемые файлы архитектурой.

Кто-нибудь видел это или обходил его?Я попытался добавить «armv7» к UIRequiredDeviceCapabilities в plist-файле (на основе другого чтения), но это не решает проблему.

Все хорошо с Application Loader, если я установил «Минимальная версия ОС» на 3.0, но в результате .IPA огромен.

Ответы [ 4 ]

2 голосов
/ 10 февраля 2012

Ранее я использовал обходной путь 1.3, но после недавнего обновления ОС загрузчик приложений 1.3 отказался работать.

Я скачал текущую версию приложения-загрузчика из iTunes Connect и снова запустил ошибку, необходимую для arm7.

Немного покопавшись, я понял, что теперь вам нужно использовать LVVMкомпилятор (в параметрах сборки iPhone, вкладка «Дополнительно»), а затем выберите ARM6 + ARM7 или ARM7 в раскрывающемся списке.

После этого вы сможете использовать новый загрузчик приложений.

1 голос
/ 19 августа 2011

У нас была точно такая же проблема, и проблема была в самом загрузчике приложений. Последняя версия отказалась загружать бинарный файл с упомянутой вами ошибкой. Затем я опустился до Application Loader 1.3 и вуаля, я смог загрузить снова. Вы можете найти Application Loader 1.3 здесь: http://itunesconnect.apple.com/apploader/ApplicationLoader_1.3.dmg

1 голос
/ 17 августа 2011

Согласно " Справочнику ключей списка свойств информации " ключ "MinimumOSVersion" не следует использовать - по крайней мере, напрямую в Info.plist.

Не указыватьэтот ключ самостоятельно в файле Info.plist;это системный ключ.

Я не уверен, что это связано только с XCode или MonoDevelop делает что-то подобное (в зависимости от указанного вами SDK и цели развертывания), но, возможно, вызаканчивая конфликтующими свойствами?!?

0 голосов
/ 19 января 2013

1) Щелкните левой кнопкой мыши значок проекта (синий значок под кнопкой «Выполнить»).

2) Рядом со значком проекта (справа от него) щелкните левой кнопкой мыши название проекта в разделе «ПРОЕКТ» (белый фон).

3) Выберите вкладку «Настройки сборки» и найдите вкладку «Создать только активную архитектуру» ----- измените на ----- нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...