Подтвердить что ты не робот

IPhone под управлением iOS 8.3 отображается как неприемлемый в Xcode 6.2

Текущая настройка:

  • iPhone 6+ обновлен до iOS 8.2
  • iMac работает с Mavericks (10.9) с Xcode 6.2
  • Цель развертывания установлена ​​в 8.2

Когда я подключаю iPhone, он отображается как неприемлемый.

Кроме того, он показывает это предупреждение:

enter image description here

Я пробовал:

  • чтобы перезагрузить iPhone и iMac → Не удалось
  • чтобы вручную выбрать iPhone из: Product > Destination > Ineligible Devices

Многие другие ответы в этот вопрос, но все для проблем с использованием Xcode 6.3, а не 6.2.

Я знаю, что могу решить это:

  • обновление до Yosemite и установка Xcode 6.3
  • с помощью iPhone с запуском 8.2

Но есть ли вероятность, что установка Xcode 6.3 DMG и копирование некоторых libs/symlinking что-то будет работать?

4b9b3361

Ответ 1

Просто скопируйте папку DeviceSupport/8.3 из Xcode 6.3 в Xcode 6.2.

Подробнее:

  • Загрузите Xcode 6.2 и 6.3, установите как /Applications/Xcode_6.2.app и /Applications/Xcode_6.3.app (или похожие имена)
  • В обеих установках есть папка Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • В Xcode 6.2 эта папка содержит пакеты для iOS 8.2 и многих более низких версий, но не для 8.3.
  • В Xcode 6.3 эта папка также содержит пакет для iOS 8.3. В моем случае папка называется 8.3 (12F69)
  • Скопируйте пакет iOS 8.3 с Xcode 6.3 на Xcode 6.2 (эта команда, конечно, одна строка):

cp -r '/Applications/Xcode_6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3 (12F69)' '/Applications/Xcode_6.2.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport'

  • Или даже лучше, создайте ссылку:

ln -s '/Applications/Xcode_6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3 (12F69)' '/Applications/Xcode_6.2.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport'

  • Теперь перезапустите Xcode 6.2 и подключите устройство через USB. Xcode должен позволить вам тестировать приложения на нем.

Решение Diego Freniche (копирование всей папки iPhoneOS.platform) было большой помощью, но когда я запускал свое приложение из Xcode 6.2, он выглядел несколько иначе, чем при развертывании ipa файла на телефоне (кнопки в неправильном позиции, отображение строки состояния неправильно). Я предполагаю, что Xcode запутался и построил приложение, как если бы он был нацелен на другую версию iOS.

С помощью этого решения (скопируйте только одну папку в DeviceSupport), похоже, что приложение работает точно так, как предполагается. Я дам вам знать, если у меня возникнут проблемы, но я пока не видел.

Ответ 2

Небольшой прогресс, но это WIP.

Похоже, что в Yosemite Xcode 6.2 работает правильно с 8.3 устройствами. Необходимо проверить на Mavericks

Тестирование с помощью Xcode 6.2 в Yosemite (необходимо проверить также в Mavericks, любая обратная связь будет оценена)

  • Перейдите в папку Xcode 6.2 и переименуйте

/Applications/Xcode-6.2 copia.app/Contents/Developer/Platforms/iPhoneOS.platform

в

/Applications/Xcode-6.2 copia.app/Contents/Developer/Platforms/iPhoneOS.platform.old

  • Установите ваш Xcode 6.3 DMG, установите его
  • Скопировать из Xcode 6.3 эту папку:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform

внутри вашей папки Xcode 6.2.

  • вы, вероятно, найдете сообщение об ошибке, указывающее, что пользователь root не владеет папкой платформы Simulator/OS. Чтобы решить этот только открытый терминал, выполните следующие действия:

    $ cd /Applications/Xcode6.2.app/Contents/Developer/Platforms

    $ sudo chown -R root iPhoneSimulator.platform/

    $ sudo chown -R root iPhoneOS.platform/

  • теперь вы можете запускать свое приложение внутри своего устройства iOS 8.3 с Xcode 6.2 , но у вас нет симуляторов в целевом меню настройки

UPDATE: я получаю странные ошибки, а ibtool пытается скомпилировать раскадровку:

/Users/dfreniche/Desktop/Test/Test/Base.lproj/Main.storyboard: операция не может быть завершена. (ошибка com.apple.InterfaceBuilder 2001.)

Итак, , наконец, отпустите и обновите Yosemite. Если есть какая-либо новая информация об этом, пожалуйста, поделитесь.

Ответ 3

Была та же проблема с подключением устройств iOS8.3 к Xcode 6.2 на Mavericks. Хорошо на машине, на которой работает Xcode 6.4 на Yosemite. Обновление программного обеспечения на машине Mavericks не предлагает более высокую версию. Глядя на спецификации Xcode 6.4 (и предположительно 6.3 исходного вопроса), говорится, что для него требуется OS X 10.10 (т.е. Yosemite). Таким образом, независимо от того, можете ли вы его взломать, поведение, которое мы наблюдаем на Mavericks, - это то, что Apple намерена.

Ответ 4

У меня такая же проблема, и я не хочу просто использовать последнюю версию XCode для поддержки моих старых проектов. В результате я решил установить две версии XCode (6.2 и 6.3) для решения этой проблемы. Вот что я сделал.

  • Загрузите пакет XCode6.2 с сайта Apple.
  • Обновление существующего XCode6.2 до x6.3
  • Откройте мой проект на XCode6.3 (на этот раз устройство может быть распознано XCode, и я думаю, что XCode6.3 мог бы сделать некоторые обновления для вашего проекта.)
  • Закройте мой проект, переустановите XCode6.2, появится сообщение о том, что у меня есть более новая версия, и если я хочу сохранить оба. Нажмите "Да". Тогда у меня есть две версии XCode.

После всех этих шагов я могу, наконец, открыть мой проект и использовать свое устройство в XCode6.2. Надеюсь, это может помочь кому-то.

Ответ 5

XCODE 6.3 отсутствует.. Он решил мою проблему. Если у вас есть Yosemite, вы можете скачать бета-версию 6.4