يمكن استخدام إنشاء الملفات الخارجية مع Xcode، وذلك باستخدام ملف إنشاء نموذج مشروع النظام يمكن تعديل هذه الملفات للاستفادة من من إعدادات مشروع Xcode، مثل نوع الإصدار والموقع، مع الاحتفاظ فائدة عند استخدامها بشكل منفصل.
إنشاء مشروع خارجي
لإنشاء مشروع إصدار خارجي جديد، في Xcode، اختَر "جديد-> مشروع جديد..." ثم حدد قالب نظام الإنشاء الخارجي. وضع المشروع نفس الدليل مثل ملف Makefile المستهدف.
إضافة إعدادات إصدار Xcode
عند استدعاء إصدار خارجي، يحدد Xcode متغيرات البيئة الخاصة إنشاء الإعدادات: تحدد هذه الإعدادات مكان إنشاء ملفات الإصدار، بالإضافة إلى برنامج التجميع أو علامات الرابط. نستخدم التوجيهات الشرطية في Make لتعديل الإصدار عند استدعائه بواسطة Xcode.
وإليك مثال، حيث يمكن أن تكون المتغيرات التي يتم تعيينها (مثل BUILD_DIR) أي اسم تريده، بينما تستخدم الشروط الشرطية متغيرات البيئة مجموعة Xcode:
ifdef CONFIGURATION_BUILD_DIR
# In Xcode build
BUILD_DIR = $(CONFIGURATION_BUILD_DIR)/build
ARCHFLAGS = $(ARCHS:%=-arch %)
SDKFLAGS = -isysroot $(SDKROOT)
else
# In command-line build
BUILD_DIR = $(HOME)/build
ARCHFLAGS =
SDKFLAGS =
endif
ifdef OPTIMIZATION_LEVEL
DEBUGFLAGS := $(DEBUGFLAGS) -O$(OPTIMIZATION_LEVEL)
endif
ifdef OTHER_CFLAGS
DEBUGFLAGS := $(DEBUGFLAGS) $(OTHER_CFLAGS)
endif
# Workaround for iPhoneSimulator SDK's gcc bug
ifdef EFFECTIVE_PLATFORM_NAME
ifneq ($(EFFECTIVE_PLATFORM_NAME), -iphonesimulator)
WARNINGS := $(WARNINGS) -Wreturn-type
endif
endif
J2OBJCC_FLAGS = $(WARNINGS) $(SDKFLAGS) $(ARCHFLAGS) $(DEBUGFLAGS)
J2OBJCC = $(J2OBJC_DIST)/j2objcc $(J2OBJCC_FLAGS)