While Titanium allows you to create apps that are almost cross-platform, it is inevitable that some devices inherently have operating system and hardware differences that are specific to them (particularly between Android and iOS). Anyone who has used both Android and iOS devices would immediately recognize the very different ways in which the notification systems are set up, for example. However, there are other platform-specific limitations to the Titanium API.
In this chapter, we will be discussing both building and integrating modules into our Titanium applications, using the iOS platform as an example. The methods for developing Android modules using Java are very similar. However, for our purposes, we will concentrate only on developing modules for iOS using Objective-C and XCode.