La structure physique d'une application iPhone se compose d'un répertoire agit comme un ensemble pour l'exécutable principal et toutes les ressources utilisées (images, listes de propriétés, fichiers d'interface, etc.).
Lors de l'exécution, l'exécutable exécute d'abord la fonction main()
. Cette fonction instancie par programme un délégué d'application ou charge le fichier d'interface principal (qui spécifie le délégué d'application). Le délégué d'application agit en réponse à des événements au niveau de l'application, tels que la terminaison ou l'entrée et la sortie de l'arrière-plan.
La construction de votre interface peut s'effectuer par programmation ou à l'aide de fichiers .xib Interface Builder. Si par programme, votre délégué d'application va construire l'interface globale initiale, puis remettre les choses aux contrôleurs de vue individuels pour gérer l'affichage des vues spécifiques. Si cela est fait via Interface Builder, vous allez définir des fichiers d'interface qui seront compilés en objets lyophilisés désérialisés dans votre interface lors de l'exécution. Dans l'ensemble, les applications Cocoa ont tendance à suivre le modèle de conception Modèle-Vue-Contrôleur, où ces trois zones de votre application sont séparées en code. Les vues sont des éléments d'affichage génériques réutilisables, votre modèle contient des données d'application (souvent persistées à l'aide de Core Data ou de SQLite), et vos contrôleurs fournissent la logique spécifique à l'application qui rassemble tous les éléments.