«Неправильная архитектура» при попытке установить приложение iPhone на мое устройство разработки

#iphone #xcode #xcode4

#iPhone #xcode #xcode4

Вопрос:

У меня есть iPhone 3G (под управлением iOS 4.0), который я использую для тестирования производительности моего приложения на моем старом оборудовании. Раньше я мог использовать устройство без проблем, даже с Xcode 4.

Однако, каким-то образом, когда я установил последнюю сборку Xcode4 (4.0.2 build 4A2002a), я потерял возможность устанавливать свое приложение на это старое устройство. Когда я нажимаю кнопку «Выполнить», я получаю

 No provisioned iOS devices are available. Connect an iOS device or 
choose an iOS simulator as the destination.
  

Однако на устройстве ничего не изменилось (мой профиль подготовки по-прежнему установлен и действителен), и весь этот процесс отлично работает для моего основного устройства, iPhone 4.

Я использовал экран приложений в органайзере, чтобы вручную установить приложение на телефон. Это выглядело более многообещающим, поскольку индикатор выполнения начал заполняться и указывал, что он копирует файлы на устройство. Однако перед завершением появилось сообщение:

 An unknown error message 'IncorrectArchitecture', was received from the device. 
  

и приложение никогда не отображается на телефоне.

Целью развертывания моего проекта является 3.1.3, а для поля «Архитектуры» в настройках сборки установлено значение «Стандартный (armv6 armv7)»

Я чего-то здесь не понимаю? Почему оно не устанавливается и что изменилось между первым выпуском Xcode4 и вторым выпуском, что могло вызвать это?

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

1. Вы пробовали запускать lipo -info в своем двоичном файле, чтобы убедиться, что генерируется код armv6?

2. Ха! Там написано, что это «armv7», Есть ли какие-то другие настройки, которые мне нужно указать, чтобы получить armv6?

Ответ №1:

В целевые параметры (не параметры проекта), убедитесь, что у вас есть:

  • Архитектуры: Стандартные (armv6 armv7)

  • Допустимые архитектуры: armv6 armv7

  • Только для создания активной архитектуры: Нет

    (хотя «Да» обычно подходит для отладочных сборок, когда вы используете одно тестовое устройство)

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

1. Спасибо! Это выдает вывод armv6, и я могу загрузить приложение на телефон вручную через органайзер, но я по-прежнему получаю «Нет подготовленных устройств iOS доступны», когда я нажимаю Run в Xcode.

2. Это странно… не уверен, что еще предложить. Я бы перезапустил как Xcode, так и iPhone 3G и, наконец, проверил, что срок действия профиля подготовки, установленного на устройстве, не истек.

Ответ №2:

в простых объяснениях у вашего приложения может быть неподдерживаемая версия сборки iOS. либо так, либо около того. действительно старые приложения обычно не запускаются на новых устройствах iOS из-за их сборки, или приложения не работают на 64 битах. это пока простое объяснение.

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

1. Вы заметили, что этот вопрос был задан 11 лет назад?