можно ли установить ios 6 sdk на xcode 5?

<p>xcode 5 имеет панель настроек, которая позволяет загружать симулятор iphone 6.1, однако я не могу найти место, где он позволяет загружать ios 6 sdk, поэтому невозможно установить активный sdk для ios 6 при разработке с xcode 5 существует ли обходной путь, который позволит xcode 5 установить ios 6 sdk?</p><p><strong> правка: </strong></p><p>обходных путей больше не нужно, теперь, когда xcode 5 общедоступен и позволяет вам загружать предыдущие версии sdk. </p><p><img src="https://i.stack.imgur.com/ihgmd.png" alt="enter image description here"></p>

<p>правка: начиная с 1 февраля 2014 года, apple больше не будет принимать приложения до ios7 для отправки в app store. таким образом, хотя эта техника все еще работает, она не будет полезна для большинства читателей.</p><hr><p>да, это нормально. я все еще строю с ios 4.3 для одного проекта (прошло некоторое время с тех пор, как мы обновились; но они все еще приняли его после выхода ios 6), и в настоящее время я создаю 10.5 приложений с xcode 5.</p><p>смотрите <a href="https://stackoverflow.com/questions/11424920/how-to-point-xcode-to-my-10-6-sdk-so-it-can-be-used-as-a-base-sdk/11424966">как указать xcode на старый sdk, чтобы его можно было использовать в качестве «базового sdk»?</a> для получения подробной информации о том, как его настроить. вы можете использовать мой <a href="https://gist.github.com/rnapier/3370649">fix-xcode</a> скрипт, чтобы связать все для вас каждый раз, когда вы обновляете.</p><p>единственный прием - получить старые sdk. если у вас их нет, вам, как правило, нужно скачать старые версии xcode (все еще доступные на <a href="http://developer.apple.com">developer.apple.com</a> ), открыть пакет установщика и поискать нужный вам sdk.</p><p>sdk можно найти в пакете установщика по адресу:</p><blockquote> <p>xcode.app/contents/developer/platforms/</p> </blockquote>

<p>я также запускал ту же проблему, когда я обновил до xcode 5, он удалил старый sdk. но я взял копию старого sdk с другого компьютера, которую вы можете скачать по следующей ссылке.</p><p> <a href="http://www.4shared.com/zip/nlpgsxz6/iphoneos61sdk.html">http://www.4shared.com/zip/nlpgsxz6/iphoneos61sdk.html</a> <br> (www.4shared.com тестовый аккаунт test@yopmail.com/test)</p><p>есть 2 способа работы с.</p><p>1) разархивируйте и вставьте эту папку в /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks и перезапустите xcode.</p><p>но это может быть снова удалено xcode, если вы обновите xcode.</p><p>2) другой способ - разархивировать и вставить туда, куда вы хотите, и перейти в /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks и создать здесь символическую ссылку, так что sdk останется прежним, даже если вы обновляете xcode.</p><p>еще одно изменение, которое я сделал, настройка сборки> архитектура> стандартная (не 64), поэтому перечислите все версии deployment target</p><p><strong>нет необходимости загружать zip, если вы только хотите изменить цель развертывания.</strong></p><p>вот несколько скриншотов . <img src="https://i.stack.imgur.com/ydmkn.png" alt="enter image description here"> <img src="https://i.stack.imgur.com/ehslv.png" alt="enter image description here"></p>

<p>да, я только что решил проблему сегодня.</p><ol> <li>найдите файл sdk, например iphoneos6.1.sdk, в каталоге xcode вашего или вашего друга .</li> <li>скопируйте и поместите его в каталог xcode 5: /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks.</li> </ol><p><img src="https://i.stack.imgur.com/tltln.png" alt="enter image description here"></p><p>затем вы можете выбрать sdk, как показано ниже:</p><p><img src="https://i.stack.imgur.com/27yih.png" alt="enter image description here"></p><p>надеюсь, это поможет вам.</p>

<p>найдите и скачайте старый sdk. <a href="https://developer.apple.com/downloads/index.action?name=xcode">старые sdk находятся здесь</a> .</p><p>я скопировал каталог xcode.app как xcode\_4.6.3.app.</p><p>теперь вы можете тестировать и отлаживать в обеих версиях xcode. вы должны запустить их из соответствующих папок или создать ярлыки на рабочем столе. при сборке из командной строки укажите параметр <code>iphoneos6.1</code> вместо <code>iphoneos7.0</code></p><p><strong>это отлично сработало для меня в xcode5 и ios.</strong> </p><p>перейдите в каталог sdk xcode5. обычно он находится по адресу:</p><pre><code>/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks </code></pre><p>добавьте символическую ссылку на старый sdk следующим образом: </p><pre><code>sudo ln -s /applications/xcode\_4.6.3.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos6.1.sdk iphoneos6.1.sdk </code></pre><p>или, точнее, из любой точки командной строки,</p><pre><code>sudo ln -s /applications/xcode\_4.6.3.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos6.1.sdk /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos6.1.sdk </code></pre>

<p>вы можете скачать старый sdk и установить его в </p><p><code>xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/</code> </p><p>папка. выход из системы + вход в систему только для того, чтобы изменения вступили в силу, и вы должны увидеть более старый sdk в новом xcode</p>

<p>просто добавьте, что вы можете загрузить старые версии симулятора с помощью самого xcode 5 - просто перейдите к настройкам, и вы найдете их в разделе «загрузки»: </p><p><img src="https://i.stack.imgur.com/gpg6u.png" alt="enter image description here"></p>

<ul> <li>загрузите xcode 4.6.x из apple dev center: <a href="https://developer.apple.com/downloads/index.action">https://developer.apple.com/downloads/index.action</a> </li> <li>создайте папку с именем xcode4 в папке «приложения» и перетащите туда скачанный dmg.</li> <li><p>откройте окно терминала</p> <pre><code>$sudo cp -r /applications/xcode4/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos6.1.sdk /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/  вам будет предложено ввести пароль, так как вы находитесь в системной папке откройте xcode 5, и вы должны увидеть оба sdk 

просто для меня самое простое решение: найдите более старый sdk, например, «iphoneos6.1 sdk» в более старой версии xcode, например…. если у вас его нет, вы можете загрузить его с сервера apple developer по этому адресу: <a href="https://developer.apple.com/downloads/index.action?name=xcode">https: //developer.apple.com/downloads/index.action?name=xcode когда вы открываете xcode.dmg, вы можете найти его, открыв xcode.app (щелкните правой кнопкой мыши и «покажите содержимое») и перейдите на страницу содержание/разработчик/платформы/iphoneos.platform/разработчик/sdks/iphoneos6.1 sdk <img src="https://i.stack.imgur.com/gkunh.png" alt="enter image description here"> просто скопируйте папку iphoneos6.x sdk и вставьте ее в свой xcode.app  щелкните правой кнопкой мыши по вашему xcode.app в папке «программы». перейдите на страницу содержание/разработчик/платформы/iphoneos.platform/разработчик/sdks / просто вставьте сюда.  <img src="https://i.stack.imgur.com/fephk.png" alt="enter image description here"><ol start="3"> закройте приложение xcode и снова откройте его. чтобы протестировать приложение в ios 6 на вашем симуляторе: - просто выберите ios 6.0 в своем активном формате . <img src="https://i.stack.imgur.com/4pd0m.png" alt="enter image description here">чтобы создать ваше приложение в ios 6, дизайн вашего приложения будет таким же старым, как на iphone с ios 7: - выберите ios6.1 в targets - базовый sdk<img src="https://i.stack.imgur.com/2bpqw.png" alt="enter image description here">просто обратите внимание: когда вы меняете базовый sdk в своих целях, ios 7.0 больше не будет доступна для сборки на симуляторе!

<strong>можно сделать это</strong>, но не совсем необходимокак это сделатьджейсон ли получил ответ. при установке xcode я предпочел сохранить предыдущие установки, а не заменять их. так что у меня есть это в моей папке установки<img src="https://i.stack.imgur.com/ggvft.png" alt="enter image description here">так что /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks содержит разные sdks. (замените xcode.app на правильный номер) скопируйте предыдущие sdk в /applications/xcode 3.app/contents/developer/platforms/iphoneos.platform/developer/sdksвот моя папка после того, как я ее скопировал.<img src="https://i.stack.imgur.com/z3svb.png" alt="enter image description here">теперь перезапустите xcode, и вы можете установить предыдущие версии sdk как базовый sdk.почему это не нужноссылаясь на документацию appleчтобы использовать определенный sdk для проекта xcode, сделайте два выбора в настройках сборки вашего проекта. <strong>выберите цель развертывания</strong>. это определяет самую раннюю версию ос, на которой может работать ваше программное обеспечение. <strong>выберите базовый sdk</strong> ваше программное обеспечение может использовать функции, доступные в версиях ос вплоть до той, которая соответствует базовому sdk. по умолчанию xcode устанавливает это к самой новой ос, поддерживаемой xcode. правило: используйте последний как базовый sdk и установите цель развертывания для приложения минимальной версии, которое должно запускатьсянапример, вы можете использовать ios 7 в качестве базовой sdk и установить ios 6 в качестве цели развертывания. запустите симулятор ios 6, чтобы проверить, как он работает в ios 6. установите симулятор, если он недоступен со списком симуляторов.<img src="https://i.stack.imgur.com/4zz9b.png" alt="enter image description here">дополнительно вы можете безоговорочно использовать функции до ios 6. и условно вы можете поддерживать новые функции ios 7 для новых обновленных устройств, поддерживая предыдущие версии.это можно сделать, используя <strong>слабо связанные классы</strong>, <strong>слабо связанные методы</strong>, <strong>функции</strong> и <strong>символы</strong> <a href="https://developer.apple.com/library/ios/documentation/developertools/conceptual/cross_development/using/using.html#//apple_ref/doc/uid/20002000-sw3">https://developer.apple.com/library/ios/documentation/developertools/conceptual/cross_development/using/using.html#//apple_ref/doc/uid/20002000-sw3 слабая связьпредположим, что в xcode вы устанавливаете цель развертывания (минимально требуемая версия) для ios6, а целевой sdk (максимально допустимая версия) - ios7. во время компиляции компилятор будет слабо связывать любые интерфейсы, которые были представлены в ios7, в то же время сильно связывая более ранние интерфейсы. это позволит вашему приложению продолжать работать на ios6, но при этом использовать новые функции, когда они доступны.

другие ответы здесь тоже правильные, но я считаю, что следующие шаги являются самыми простыми:просто скачайте xcode 4.6.3 из ссылки на центр разработки, где написано "ищете старую версию xcode?" (в настоящее время указывает <a href="https://developer.apple.com/downloads/index.action?name=xcode">здесь ) и смонтировать dmg.затем в терминале скопируйте файлы sdk поверх:cp -r /volumes/xcode/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos6.1.sdk /applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/ наконец, перезапустите xcode, и все готово.

мое приложение было без проблем переведено на xcode 5, потому что оно все еще может собираться с оригинальной ios deployment target, которую вы установили в проекте (5.1 в моем случае). если новый sdk не вызывает непреодолимой проблемы, то почему бы не собрать его с помощью? наверняка под капотом много улучшений. например, я предпочитаю использовать xcode 5 вместо xcode 4.6.3. зачем? я получу гораздо больше времени работы от батареи, потому что прокрутка пользовательского интерфейса областей текста/кода в xcode 5 больше не жует весь поток цп.

соединение 6.1 sdk в xcode 5, как описано в других ответах, является одним шагом. однако это по-прежнему не решает проблему использования новых элементов пользовательского интерфейса в ios 7, контроллеров представления в натуральную величину и т.д.как описано в <a href="https://stackoverflow.com/a/19020449/235297">этот ответ также необходимо переключить пользовательский интерфейс в устаревший режим на ios 7:[[nsuserdefaults standarduserdefaults] setbool:yes forkey:@"uiuselegacyui"]; [[nsuserdefaults standarduserdefaults] synchronize]; осторожно: это недокументированный ключ, который не рекомендуется для сборок в app store!кроме того, по своему опыту во время тестирования на устройстве я обнаружил, что оно работает только во второй раз, когда я запускаю приложение, хотя я запускаю код довольно рано при запуске приложения, в +[appdelegate initialize]. также есть небольшая разница с версией, созданной с использованием xcode 4.6. например, прозрачные панели навигации ведут себя по-разному (в результате чего представление становится полноразмерным).однако, поскольку xcode 4.6.3 падает на mavericks (по крайней мере, для меня, см. <a href="http://openradar.appspot.com/15318883">rdar: // 15318883 ), это по крайней мере решение для продолжения использования xcode 5 для отладки.

с 1 февраля apple будет отклонять приложение, созданное только для ios6 или ниже. вот также официальное <a href="https://developer.apple.com/news/">общение от apple. лучше начать сборку для ios7. чтобы уточнить мое утверждение: если вы собираете для ios6 или ниже, apple отклонит ваше приложение . если вы собираете для ios7 и ниже, все в порядке, это означает:  вы должны использовать xcode5 вы должны развернуть на ios7 по крайней мере. содержание электронной почты apple довольно ясно для меня <blockquote> «убедитесь, что ваши приложения бесперебойно работают с инновационными технологиями .__ в ios 7. начиная с 1 февраля, новые приложения и обновления приложений, отправленные в app store, должны быть построены с xcode 5 и ios 7 sdk». </blockquote>

я скачал xcode 4 и взял ios 6.1 sdk с него на xcode 5, как описано в других ответах .... затем я также установил ios 6.1 simulator (он был доступен в настройках). я также переключил base sdk на ios 6.1 в настройках проекта.после всех этих манипуляций проект с 6.1 base sdk запускается в режиме совместимости в ios 7 simulator.

в настоящее время у меня установлены xcode 4.6.3 и 5.0. я использовал следующий скрипт bash, чтобы связать 5.0 с sdk в старой версии:<pre class="lang-bash prettyprint-override">platforms_path="$1/contents/developer/platforms"; if [ -d $platforms_path ]; then for platform in ls $platforms\_path` do sudo ln -sf $platforms_path/$platform/developer/sdks/* $(xcode-select --print-path)/platforms/$platform/developer/sdks; done; fi; </code></pre><p>вам просто нужно указать путь к .app:</p><pre><code>./xcode.sh /applications/xcode-463.app </code></pre>