Установите Simulator SDK 4.3 в Xcode 4.4 на Mountain Lion
Я хочу установить SDK 4.3 в xcode 4.4 на горном льве (os x 10.8), но когда я установил пакет 4.3 sdk из xcode 4.1 и запустил симулятор с xcode 4.4, симулятор просто сказал мне, что симулятор ios может не найти sdk.
Возможно, потребуется переустановить sdk, а это значит, что он не может работать! Что случилось с xcode 4.4 GM?
Есть ли идеи о том, как решить эту проблему?
Ответы
Ответ 1
Я просмотрел его, и это преднамеренное поведение от Apple.
Вот (отредактированный) извлечение кеша для местоположений загрузки Xcode:
~/Library/кэши/com.apple.dt.Xcode/Загрузки/eded78df8bfabaf6560841d10cf8e53766f74f28.dvtdownloadableindex
<dict>
<key>source</key>
<string>http://adcdownload.apple.com/ios/ios_simulator__resigned/ios_43_simulator.dmg</string>
<key>identifier</key>
<string>Xcode.SDK.iPhoneSimulator.4.3</string>
<key>name</key>
<string>iOS 4.3 Simulator</string>
<key>userInfo</key>
<dict>
<key>InstalledIfAllPathsArePresent</key>
<array>
<string>$(DEVELOPER)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk</string>
</array>
<key>ActivationPredicate</key>
<string>$MAC_OS_X_VERSION < "10.8.0"</string>
</dict>
</dict>
Обратите внимание на явную настройку "ActivationPredicate: $MAC_OS_X_VERSION < 10.8.0", которая отсутствует в других пакетах симулятора.
Я попытался отредактировать файл, но он заменяется другой версией, как только открывается Xcode. И я не мог справиться с ручной загрузкой 4.3 Simulator DMG: на веб-сайте ADG выдается ошибка "Session expired".
Похоже, у Apple были проблемы с симулятором 4.3 и решили отключить его. Какой отстой для людей, которые должны поддерживать эту версию.
Ответ 2
Я подал DTS с Apple и подтвердил, что имитатор iOS4 не поддерживается на Mountain Lion. Они рекомендуют протестировать на реальном устройстве.
Ответ 3
Похоже на проблему Льва против Горного Льва.
Сегодня я обновил несколько машин до Xcode 4.4. Две старые системы Lion предлагают установить iOS 4.3 и 5.0 симуляторы в формате xcode | preferences | downloads. Новая система Mountain Lion предлагает только симулятор iOS 5.0.
Ответ 4
У меня тоже была эта неприятная ситуация. Недавно мне удалось добавить проверку времени компиляции для проверки API-интерфейсов в отношении старых версий SDK. К сожалению, вы не можете протестировать его с помощью более старой версии с помощью симулятора, но это все еще что-то.
Итак, вот что я сделал:
Сначала мне нужно было получить старый SDK Simulator, который я хотел получить. Я мог бы легко получить это, загрузив более старые версии Xcode 3 (не 4), которые включали необходимый SDK. Xcode 3.2.6 с iOS SDK 4.3 связан здесь.
Затем мне пришлось установить SDK. Это было не слишком сложно, поэтому я не буду здесь объяснять многое. Но SDK хранятся в папке Packages
. Эта папка хорошо видна в более ранних версиях Xcode 3, но скрыта в более поздних версиях (например, Xcode 3.2.6). Вы можете легко открыть его в любом случае через терминал. Не забудьте установить симулятор SDK, а не обычный. Кроме того, после изменения Xcode 4.3, где папка Developer
перемещена в Xcode.app, мне пришлось установить SDK в папку tmp и переместить SDK в Xcode.app самостоятельно. Затем мне нужно было перезапустить Xcode, если бы я его открывал.
После этого я продублировал конфигурацию debug
в моем проекте и назвал ее чем-то вроде iOS 4.3 API Check
или что-то в этом роде - не имеет большого значения. Затем я изменил базовый SDK этой новой конфигурации на старый SDK, который я установил. Установленный SDK не был указан, поэтому мне пришлось выбрать other
и ввести iphonesimulator4.3
.
Наконец, когда мне нужно было проверить старые версии SDK, я изменил конфигурацию для Run <appname>.app
в моей схеме проекта на мою конфигурацию iOS 4.3 API Check
. И вот мы идем, проверка времени компиляции против iOS 4.3.
Ответ 5
После обновления до ML у меня была возможность скачать iOS 4.3 Simulator.
Однако это не сработало! Во время отладки я получил ошибку. Когда я попытался переключить версию симулятора вручную, он застрял.
Если бы я знал, я бы, вероятно, ждал решения вместо обновления.