Game Development Reference
Projectfiles-iOS and Projectfiles-Mac groups should contain only files
used by that particular platform. These groups are meant as suggestions; you're of
course free to structure your project's group as you see fit.
The BuildSettings group contains several .xcconfig files, which are the textu-
al format for Xcode build settings. Normally you don't need to modify these files, but
in some cases you may want to,—or example, to enable iSimulate. One huge benefit of
the .xcconfig files is that you can document them, and accordingly you'll find sev-
eral notes for each build setting, what it does, what it affects, and when you might want
to enable or disable it. The other big benefit of .xcconfig files is that Kobold2D
controls each project's default settings. Should an Xcode or cocos2d update require dif-
ferent build settings, then that change will be shipped with Kobold2D instead of leav-
ing it up to you. In the past, this has caused a lot of grief whenever certain build set-
tings became incompatible with cocos2d.
Almost all Kobold2D project templates provide targets for both iOS and Mac OS X,
which are suffixed with -iOS and -Mac , respectively. I hope that the readily available
Mac target will encourage you and other developers to consider cross-platform devel-
opment from the start and to publish more apps to both the iOS and Mac App Store.
It's certainly a lot easier to take cross-platform development into account from the start
rather than porting the app once it's finished.
How Kobold2D Launches an App
Kobold2D simplifies the start-up process, in particular how much custom code is
needed in your project (by default: none). Kobold2D does all the initialization per-
formed by the main function, the app delegate, and the root view controller behind the
Furthermore, Kobold2D lets you easily modify the start-up settings, such as the first
scene or layer to display, the device orientation, the render settings, the Mac window
size, Retina support, and many more. All these settings are centralized in the con-
fig.lua script file.
Main and AppDelegate