2014-09-11 2 views
11

До сегодняшнего дня, когда я загрузил окончательный Xcode 6, я смог поиграть с Swift на моей машине 10.9. Теперь я получаю эту ошибку:Скомпилировать 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 на эту машину.

+0

Итак, первая проблема в том, что они забыли поставить 10.10 SDK в Xcode пачке. Хороший один Apple. Вы можете получить один из них, загрузив бета-версию 6.1 и затем скопировав ее. Приложение теперь компилируется. К сожалению, даже с целевым значением, равным 10,9, он не запускает приложение, жалуясь, что мой аппарат 10.9.2 старше 10.9. –

ответ

5

Итак, вот совок:

После загрузки ГМ вы будете иметь нефункциональные Xcode, Apple забыл включить SDK в приложение пачке. Итак, теперь вы должны загрузить бета-версию 6.1, а также, Show Package Contents и перейдите в папку:

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

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

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

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

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

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

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

+4

Apple не «забыла». Окончательный выпуск Xcode 6 не может включать 10.10 SDK, поскольку он все еще является бета-версией. – user102008

+3

Меня не интересует «почему» как «как исправить». –

+3

Это хак. Трудно сказать «исправить». Это будет где-то посреди исправления и разрыва. И взломать без понимания «почему» в основном ближе к перерыву. – Eonil

8

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 Support for OS X

*A future version of Xcode to be released along with OS X Yosemite will add Swift support for OS X, including playgrounds and REPL. Xcode 6.0 only supports Swift for iOS projects and playgrounds. A beta release of Xcode with Swift support for both OS X and iOS is available at developer.apple.com/xcode/downloads/

Смежные вопросы