Можно ли получить SDK iOS 5.1 для Xcode 4.2 на Snow Leopard?

139

У меня еще есть Снежный Барс. У меня есть Xcode 4.2 для разработки под iOS. Сегодня утром я обновил свой iPhone и iPad до iOS 5.1.

Но Xcode 4.2 не обнаруживает мое устройство для тестирования. Мне не удалось найти образ SDK iOS 5.1 на сайте разработчиков Apple для Xcode 4.2.

Я не хочу сейчас обновляться до Lion, чтобы получить XCode 4.3.

Смогу ли я теперь использовать Xcode 4.2 (на Snow Leopard) для разработки под iOS?

jpsasi
источник

Ответы:

213

Чтобы заставить Xcode 4.2 на Snow Leopard запускать код на устройстве под управлением iOS 5.1, вы можете сделать это:

  1. Если у вас есть другой Mac с Lion и Xcode 4.3.1, вы можете скопировать файлы из:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)

  2. Поместите скопированные файлы в эквивалентное место на вашем Snow Leopard Mac: возможно,

    /Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. Аналогичным образом скопируйте файлы SDK iOS 5.1, находящиеся в этом каталоге:

    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

  4. Также скопируйте файл version.plist с машины Lion в папку iPhoneOS.platform на машину Snow Leopard.

  5. Перезапустите Xcode на машине Snow Leopard и повторно подключите устройства, и это кажется достаточно счастливым.

Если у вас нет доступа к машине с Lion и Xcode 4.3.1:

  1. Вы можете получить файлы, 4.3.1 DMGкоторые можно загрузить с Apple здесь : Загрузки для разработчиков Apple .

  2. Установите DMG, отобразите содержимое пакета на значке Xcode и перейдите к

    /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. Следуйте инструкциям выше.

Возможно, вам будет удобнее использовать собственный dittoметод Apple ( sudo ditto src dest) в окне терминала для копирования папок.

Обратите внимание, что этот хак также будет работать с последней версией SDK для iOS 6.

Ричард Гроувс
источник
3
Сегодня я обновил свою систему до Lion. Спасибо за взлом.
jpsasi 09
Большое спасибо :) Сработал у меня идеально. По крайней мере, я смогу еще какое-то время развиваться с помощью sl.
OnTheFly 09
14
Я исправил указанную выше проблему, скопировав файлы в /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk. Спасибо за это, теперь я могу отложить замену моего старого Mac еще как минимум на пару месяцев.
Дэн Дайер
6
@natbro - Я все еще вижу штраф 4.3.1 dmg на developer.apple.com/downloads/index.action# и в настоящее время загружаю его.
SubG
1
XCode 4.3.3 также содержит его и отлично работает. Большое спасибо за это
Крым
14

Вы должны получить Lion, iOS 5.1 SDK предназначен только для Xcode 4.3.1, который доступен только для Lion.

... и ваш Xcode не сможет быть собран на вашем устройстве, если вы уже обновили его до 5.1, потому что его не будет в этой версии утвержденных Xcode SDK

Мик МакКаллум
источник
14

Я сейчас над этим работаю. У меня такая же проблема.

ОСНОВНЫЕ ПРОБЛЕМЫ здесь заключаются в следующем:

1) Apple никогда не предоставляла диалоговое окно с предупреждением о том, что это может помешать развитию людей под Snow Leopard.

2) Нет простого способа отменить это.

3) Этого не должно происходить при обновлении промежуточного выпуска.

Я пытался установить предыдущий ipsw от 5.0.1 для своего IPod Touch 4-го поколения отсюда: где скачать ссылки для восстановления прошивки ipod touch Он не устанавливается.

Я скачал Lion Xcode 4.3.1 отсюда (сначала войдите как разработчик) Lion Xcode 4.3.1

И запустите несколько скриптов с форумов разработчиков здесь:

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1\ \(9B176\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/

sudo rm -f ./Latest

sudo ln -s ./5.1\ \(9B176\) ./Latest

Размонтировал Lion DMG и перезапустил Xcode. Это позволило мне протестировать 5.1 в симуляторе, но сломало каждую сборку для каждого устройства с помощью SIGABRT или ошибки связи.

Я иду в магазин Apple, чтобы они восстановили мое устройство. Если я получу дополнительную информацию, я дам вам знать. Это был ОЧЕНЬ ДОРОГОЙ и ОЧЕНЬ НЕПРИЯТНЫЙ сюрприз.

Алекс Заватоне
источник
3
Я полностью с тобой согласен. Поведение Apple в этом отношении безответственно. Он говорит вам: им просто все равно.
EdH
3
Я любил Apple до того, как стал одним из бедных ублюдков, которым приходилось разрабатывать на платформе iOS.
Alex Zavatone
8

Добавляя решение Ричардса выше, я обнаружил, что если вы также скопируете из XCode 4.3.1 dmg ...

изменить: обновлен до правильного пути в dmg

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develope‌ r / SDKs / iPhoneOS5.1.sdk ~~ (все дерево каталогов)

к

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Отладчик XCode запустится правильно (без журнала ошибок и дампов)

ie:
===============================================================================
warning: Unable to read symbols from "dyld" (prefix __dyld_) (not yet mapped into memory).
warning: Unable to read symbols from "SystemConfiguration" (not yet mapped into memory).
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of dyld found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (file not found).
warning: No copy of SystemConfiguration.framework/SystemConfiguration found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of MessageUI.framework/MessageUI found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (file not found).
warning: No copy of AudioToolbox.framework/AudioToolbox found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/iAd.framework/iAd (file not found).
warning: No copy of iAd.framework/iAd found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices (file not found).
warning: No copy of SpringBoardServices.framework/SpringBoardServices found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/FTClientServices.framework/FTClientServices (file not found).
warning: No copy of FTClientServices.framework/FTClientServices found locally, reading from memory on remote device.  This may slow down the debug session.
===============================================================================
dklt
источник
Я думаю, что путь, который вы имеете в виду: /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs (что немного глубже, чем предлагает ваш пост - сложная иерархия, с которой Apple столкнулась, не это?)
Ричард Гроувс,
действительно, вы правы. обновление сообщения, чтобы отразить ваш правильный путь.
cheers
7

Здесь есть ответ, который также предоставляет копию симулятора v 5.1. Никаких ручных операций. Просто откройте Терминал, скопируйте и вставьте предоставленные команды.

http://www.iphonedevsdk.com/forum/iphone-sdk-development/100229-snow-leopard-sdk-5-1-a.html

Просел
источник
Я выполнил инструкции Ричарда Гроувса и @dklt. Это не работает. Но я запустил скрипты, приведенные в этой ссылке, и это сработало как шарм
Вайшнави Найду
«Эта веб-страница по адресу www.iphonedevsdk.com была объявлена ​​страницей атаки и была заблокирована на основании ваших настроек безопасности». - Я был бы очень осторожен :)
Роэль Ван де Паар
Сообщается обо всем сайте iphonedevsdk.com , а не только об этой странице.
prossel
5

если вы хотите также добавить симулятор iphone 5.1 в свой xcode, скопируйте

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk

весь каталог по следующему пути =>

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

после того, как вы также сможете использовать iPhone Simulator 5.1 для отладки вашего приложения.

hchouhan02
источник
1
Когда я делаю это @ hchouhan02, я получаю следующие ошибки: Ошибка компилятора XIB Interface Builder: «Ошибка команды / разработчика / usr / bin / ibtool с кодом выхода 255» и Без категории: «Задача сборки завершилась неудачно без создания сообщений об ошибках».
JRoss 07
Попробуйте это => выйти из xcode => открыть xcode => очистить проект после попытки создания проекта.
hchouhan02 09
5

Вы можете использовать приложения, скомпилированные для 5.0, на вашем устройстве 5.1 или 5.1.1, скомпилировав их и вручную перетащив файл .app в iTunes. Пробовал сегодня на 10.6.8 и XCode 4.2.

Марчин Игнак
источник
Это сработало для меня сегодня. Я на SL с xcode 4.2. [Mac OS X 10.6.8 (10K549). Xcode 4.2 (4C199). iPhone OS SDK 5.0: (9A334).]
Мартин Якубик 08
Вы можете найти файл .app в ~ / Library / Developer / Xcode / DerivedData / {app name} / Build / Products / Deployment / (спасибо stackoverflow.com/a/9673810/1208218 )
Роэль Ван де Паар,
И еще немного информации о том, как именно все это запустить: stackoverflow.com/a/11460561/1208218
Роэль Ван де Паар,
4

Загрузите прошивку iOS 5.0.1 вашего устройства по этой ссылке: http://www.iphonefirmware.com/firmwares-download .

И сделайте ручное восстановление в iTunes.

Я сделал это сегодня (8 марта) на своем iPad 2, и он работает, Apple, похоже, все еще подписывает эту версию iOS. Думаю, ненадолго, так что делайте это быстро.

букер
источник
1
10 марта: не сработало. Получено сообщение о том, что версия программного обеспечения не поддерживается для моего устройства, iPod Touch 4G.
Шеймус
Apple перестала подписывать его с прошлых
выходных
3

Невозможно использовать устройство 5.1 на xcode 4.2, поскольку вы не хотите обновляться, вы можете использовать органайзер, выбрать свое устройство и использовать функцию восстановления. Вы можете найти в Google версию 5.0.1 и использовать ее.

(хотя обновление до льва очень дешевое)

РЕДАКТИРОВАТЬ: Кажется, это возможно, прокрутите вверх, чтобы найти ответ с наибольшим количеством голосов.

Почи
источник
Поскольку Mountain lion будет выпущен через пару месяцев, я не хочу сейчас переходить на Lion, предполагая, что я смогу перейти на Mountain Lion из Snow Leopard. Думаю, мне нужно найти способ восстановить iOS 5.0.1 на моем устройстве. Спасибо
jpsasi 08
Добро пожаловать. Это не должно быть так сложно восстановить. Как я уже говорил, xCode предоставляет функцию восстановления (находится в окне меню органайзера-> органайзер-> устройства-> RestoreIphone). Кстати, не знаю, можете ли вы пойти прямо к горному льву, например, вы должны пройти через снежного леопарда, чтобы добраться до льва от леопарда.
Почи
Очевидно, нет необходимости сначала переходить на Lion, и вы можете сразу перейти от Snow Leopard к Mountain Lion
Роэль Ван де Паар
3

Я использую Mac OS X 10.6.8 и Xcode 4.2, а также обновил свой iPhone до iOS 5.1. Вчера мне нужно было срочно загрузить тестовую версию на устройство, но у меня не было времени установить Lion и Xcode 4.3.

Я использую TestFlight (www.testflightapp.com) для бета-тестирования. Я создал архив .ipa из Xcode 4.2 и смог установить его на свой iPhone с обновленной iOS 5.1 через TestFlight.

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

ps Я никак не связан с TestFlight.

egincyf
источник
2

Xcode 4.2, похоже, больше не доступен на developer.apple.com для пользователей снежного барса :( также для зарегистрированных платных разработчиков iOS, таких как я ...

Похоже, на данный момент нет легального способа получить это ...

габри
источник
2

Вы также должны добавить псевдоним Symbols ... например, /Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0 (10A403)вы должны добавить псевдоним Symbols, который указывает, /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdkчтобы xcode 4.2 мог обнаружить ваше устройство ios6 (проверено на Mac mini 1.5 Intel Core Solo со снежным барсом). Ура

Уолтер
источник
В моем случае Symbolsпсевдоним уже был там после того, как я скопировал DeviceSupport/6.0 (10A403)папку из образа диска Xcode 4.5.
herzbube
1

Я думаю, что вы можете протестировать устройство ios 5.1 в Snow Leopard, как описано в сообщениях выше. Но всегда безопасно перейти на Lion и использовать официальный выпуск sdk. Потому что мы не можем предсказать, какая проблема может произойти, если мы сделаем некоторые «трюки» на нашей машине, чтобы это произошло, и это может произойти в самое нежелательное для вас время (например, при отправке в магазин приложений). :)

rakeshNS
источник
1

На момент написания этой статьи 20 марта 2012 г. Apple не разрешает пользователям устанавливать предыдущие файлы ipsw из 5.0.1. Если вы обновили свое устройство до iOS 5.1, как я сделал с моим 4-м поколением Touch, вам нужно либо запустить iOS 5.1 в Xcode 4.2, либо вернуть устройство на 4.x, либо заменить устройство.

Я принес свой штрих в Apple Store, и они заменили его.

Если вы установите ipsw для 5.0.1, серверы Apple сообщат, что это запрещено для вашего устройства, и вы не сможете выполнить возврат. Вам нужно будет попробовать 4.x на вашем устройстве или убедиться, что iOS 5.1 SDK работает в Xcode 4.2.

Алекс Заватоне
источник
0

Я нашел, как это решить!

Моя система - Snow Leopard 10.6.8, и у меня есть два набора Xcode 3.2.5 и 4.2, после того, как я обновил свой iPad 1 до iOS 5.1, я запустил Xcode 3.2.5, мне открылось окно с неизвестным устройством был найден », я отвечаю« Да », чтобы загрузить множество библиотек со своего iPad, через несколько минут я могу отлаживать и запускать свои проекты на своем iPad!

Затем я запустил Xcode 4.2 и открыл один из моих предыдущих проектов, я действительно могу отлаживать и запускать его на своем iPad!

Таким образом, вы можете использовать любую версию Xcode для разработки приложений в системе Snow Leopard.

арт гольф
источник