Скомпилировать Swift на 10.9?

До сегодняшнего дня, когда я загрузил финальный Xcode 6, я смог поиграть с Swift на моей машине 10.9. Теперь я получаю эту ошибку:

OS X targets using Swift cannot be built against an SDK older than 10.10, but the effective SDK is 10.9.

Я сохранил копию Xcode 6B7, но теперь открытие проекта в этой версии также вызывает ту же ошибку.

У кого-нибудь есть исправление? Я не хочу устанавливать 10.10 на эту машину.

Ответ 1

Хорошо, так вот совок:

После загрузки GM у вас будет нефункциональный Xcode, Apple забыла включить sdk в комплект приложения. Итак, теперь вам нужно загрузить бета-версию 6.1, показать содержимое пакета и перейти в папку:

/Volumes/Xcode/Xcode-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer

Примечание. Я открыл пакет приложений из образа диска, таким образом, имя тома. Внутри этой папки SDK вы найдете MacOSX10.9.sdk и MacOSX10.10.sdk. Релиз GM отсутствует позже. Поэтому сделайте копию того, что удобно, как ваш рабочий стол.

ОК, теперь найдите тот же путь в версии GM. Мой установлен в папке "Мои приложения", поэтому он здесь:

/Applications/Xcode 6.app/Contents/Developer/Platforms/MacOSX.platform/Develope

Вы заметите, что папка MacOSX10.10.sdk отсутствует. Ницца. Хорошо, скопируйте версию из бета-версии в эту папку.

Перезагрузите Xcode, откройте свой проект и очистите. Теперь посмотрите ОЧЕНЬ ТЩАТЕЛЬНО для каждой настройки для SDK или цели развертывания. SDK должен быть 10.10, цель развертывания должна быть 10.9. Это появляется во многих местах на нескольких экранах, поэтому смотрите внимательно.

Скомпилирует и запускает. И исправляет сбои, которые я видел в Xcode в B6 и B7.

Ответ 2

Xcode 6.0 будет поддерживать только Swift с iOS. Использование Swift с Mac OS X не поддерживается в этой версии Xcode, и для этого вам нужно будет получить бета-версию Xcode 6.1. Предыдущие бета-версии Xcode 6.0 поддерживали Swift для OS X, но это было потому, что в то время не было бета-версии Xcode 6.1.

Из примечаний к выпуску Xcode 6.0:

Поддержка Swift для OS X

* Будущая версия Xcode, выпущенная вместе с OS X Yosemite, добавит поддержку Swift для OS X, включая игровые площадки и REPL. Xcode 6.0 поддерживает только Swift для проектов iOS и игровых площадок. Доступна бета-версия Xcode с поддержкой Swift для OS X и iOS на developer.apple.com/xcode/downloads/