Будет ли приложение Mac, разработанное в последней версии XCode, работать в старой OS-X?

#objective-c #xcode #macos #version-control #xcode5

#objective-c #xcode #macos #контроль версий #xcode5

Вопрос:

У меня есть macOS-X — 10.7 и Xcode — 4.6.2, и я создал приложение для Mac. Клиентская машина также macOS-X — 10.7. Но в моем приложении Mac произошла небольшая ошибка с NSNumberFormatter, которая при изменении Xcode приводила к сбою. Итак, я отредактировал код в последних версиях Xcode и OSX. А затем я создал его двоичный файл и запустил в macOS-x — 10.7, он работает нормально. Но исходный код больше не открывается в Xcode — 4.6.2. Запрашивается последняя версия Xcode. Мой вопрос в том, будет ли двоичный файл нормально работать в более старой версии OS-X, даже если он разработан в последней версии Xcode?

Ответ №1:

Версия OS X, на которой будет работать ваше приложение, определяется целью развертывания OS X в настройках проекта. Если оно настроено на поддержку 10.7, то не имеет значения, на какой версии OS X вы его создали: созданное приложение будет работать на 10.7 и более поздних версиях.

Этот параметр также установит минимально допустимую ОС в Info.plist, поэтому люди, пытающиеся запустить сборку на более ранних ОС, увидят предупреждение, а не просто сбой приложения.

Дополнительная информация о настройке цели развертывания и сборке для разных версий ОС с SDK доступна в документации Apple:

https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html

Комментарии:

1. Мой компьютер (mac mini) и клиентский компьютер (iMac) находятся в одной среде. OS-X 10.7.5 и дело не в том, что оно вообще не запускается. Приложение работает некоторое время. Я могу вводить данные в БД (sqlite), но после ввода двух трех данных выдается сообщение об ошибке «Не удалось загрузить перо». Я также попытался изменить настройки локализации. все еще не повезло.

2. Кто-нибудь может ответить, пожалуйста?

3. Я не думаю, что эта ошибка загрузки nib имеет какое-либо отношение к используемой вами версии Xcode или версии клиентской ОС. Вы должны внимательно изучить перо, которое оно пытается загрузить. Установили ли вы цель развертывания OS X, как я описал выше?

4. Я решил это с помощью приведенного вами выше решения. Я попробовал это снова с самого начала, установив цели развертывания и базовый SDK. Теперь оно работает. Спасибо, приятель