Создание пользовательских сборок проекта XCode - PullRequest
1 голос
/ 19 апреля 2010

Я собираюсь создать приложение для Mac, написанное на Obj-C, с Xcode. Ради аргумента, скажем, у него будет 10 дополнительных функций. Мне нужен способ включить или отключить эти функции для создания пользовательских сборок приложения. Эти сборки будут автоматизированы (скорее всего, через терминал Mac OS X), поэтому мне нужен способ указать, какие из этих функций включены / отключены во время сборки (файл конфигурации или аргументы CLI были бы идеальными.)

Так, каков лучший способ достигнуть этого? Я пытаюсь спланировать это перед тем, как начать кодирование, чтобы в моей базе кода было надлежащее разделение, чтобы эти функции приходили и уходили. В идеале пользовательская сборка должна содержать только скомпилированный код для функций, которые она должна иметь. Другими словами, я не хочу всегда компилировать все функции и обуславливать их во время выполнения.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2010

Вы можете использовать конфигурации XCode для этой цели; например, для каждой конфигурации вы можете добавить свой префиксный заголовок. Затем вы можете запускать сборки из командной строки через xcodebuild.

Если вы предпочитаете подход с использованием файла конфигурации, вместо этого вы можете использовать файл .xcconfig для определения любых настроек сборки Xcode.

Руководство по системе сборки Xcode описывает оба эти подхода.

0 голосов
/ 26 мая 2011

используйте #ifdef и флаг -D под флагами компилятора, чтобы контролировать, компилируется или нет материал.Вы можете настроить множество различных конфигураций таким образом, если хотите, и просто настроить конфигурации сборки xcode.

#include <stdio.h>

int
main (void)
{
#ifdef TEST
  printf ("Test mode\n");
#endif
  printf ("Running...\n");
  return 0;
}

выход 1:

$ gcc -Wall -DTEST dtest.c
$ ./a.out
Test mode
Running...

выход 2:

$ gcc -Wall dtest.c
$ ./a.out
Running...

источник: http://www.network -theory.co.uk / docs /gccintro / gccintro_34.html

...