#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:
Комментарии:
1. Мой компьютер (mac mini) и клиентский компьютер (iMac) находятся в одной среде. OS-X 10.7.5 и дело не в том, что оно вообще не запускается. Приложение работает некоторое время. Я могу вводить данные в БД (sqlite), но после ввода двух трех данных выдается сообщение об ошибке «Не удалось загрузить перо». Я также попытался изменить настройки локализации. все еще не повезло.
2. Кто-нибудь может ответить, пожалуйста?
3. Я не думаю, что эта ошибка загрузки nib имеет какое-либо отношение к используемой вами версии Xcode или версии клиентской ОС. Вы должны внимательно изучить перо, которое оно пытается загрузить. Установили ли вы цель развертывания OS X, как я описал выше?
4. Я решил это с помощью приведенного вами выше решения. Я попробовал это снова с самого начала, установив цели развертывания и базовый SDK. Теперь оно работает. Спасибо, приятель