Учим 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 на название вашей программы каждый раз при создании нового проекта. Надеюсь, этот хинт оказался для вас полезным. Успехов! :)
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 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

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