7 апреля 2009 в 14:02

Учим Xcode самостоятельно ставить имя программы вместо NewApplication


Все разработчики Cocoa знают про эту неприятную мелочь: при создании нового проекта Cocoa Application в Interface Builder’е нужно вручную править меню программы и менять NewApplication на название программы. По какой причине разработчики Xcode не автоматизировали этот процесс не понятно, т.к. это дело двух минут. Придется сделать это за них.

Итак, приступим. Идем в /Developer/Library/Xcode/Project Templates/Application/Cocoa Application. Здесь мы видим файлы, которые автоматически копируются в папку с новым проектом. Т.к. надоедливое слово NewApplication мы меняем в Interface Builder’е, нам нужен файл MainMenu.xib, лежащий в папке English.lproj. Открываем его в текстовом редакторе и видим, что NewApplication там присутствует (в количестве 6 штук). Нам нужно заменить все вхождения NewApplication на «PROJECTNAME» (включая кавычки «»). Сохраняем, закрываем.

Xcode при создании проекта заменяет все найденные «PROJECTNAME» на название проекта. Но чтобы он знал, в каких файлах это нужно делать, ему нужно это указать. Для этого нажимаем правой кнопкой по файлу CocoaApp.xcodeproj и выбираем «Show Package Contents». Открываем файл TemplateInfo.plist в текстовом редакторе и видим следующее:

{
	FilesToRename = {
		"CocoaApp_Prefix.pch" = "«PROJECTNAME»_Prefix.pch";
	};
	FilesToMacroExpand = (
		"«PROJECTNAME»_Prefix.pch",
		"Info.plist",
		"English.lproj/InfoPlist.strings",
		"main.m",
	);
	Description = "This project builds a Cocoa-based application written in Objective-C.";
}

Как вы, наверное, смогли догадаться, нам нужно добавить в список FilesToMacroExpand путь к MainMenu.xib:

"English.lproj/MainMenu.xib",

Сохраняем, закрываем.

Voilà! Теперь вам не нужно вручную менять NewApplication на название вашей программы каждый раз при создании нового проекта. Надеюсь, этот хинт оказался для вас полезным. Успехов! :)
@Stam
карма
5,0
рейтинг 0,0
Самое читаемое Разработка

Комментарии (13)

  • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Рад, что пригодилось :)
  • 0
    Спасибо -)
    главное, что это быстрое и простое решение.
    • +3
      Пожалуйста :)
      Непонятно, конечно, почему разработчики Xcode этого не сделали.
      • 0
        Может быть для того, чтобы можно было склонять название?
        • 0
          Ну, это не касается английского языка, а для локализаций это уже делается отдельными способами.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Я программлю на С++ и привык к MS VisualStudio, поэтому никак не могу пересесть на XCode (всё кажется неудобным и непривычным). Было бы просто отлично, если бы Вы или кто-то еще написал такой себе start guide о работе в XCode.
    • 0
      А что Вас именно интересует? Что-нибудь вроде туториала по написанию приложения или конкретно Xcode (что, где, как и что делает)?
      • 0
        Скорее работа самой IDE. Нюансы всякие…
    • 0
      что вас конкретно интересует?

      P.S.: поддержка C++ в XCode мягко говоря хромает. Лучше обратите свой взор на QtCreator или Eclipse+CDT. Ну или Emacs/vim если захотелось экстрима
      • 0
        К Eclipse у меня неоднозначное отношение. QtCreator — да, крут. Vim — мегакрут, но к нему я еще не готов…

        А в чем именно заключается «хромота»?
        • 0
          автокомплит, отсутствие рефракторинга, фиговенький фронтэнд к gdb

          В Xcode удобно работать только для того, для чего он пишется, т.е. Objective-C + Cocoa

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.