iOS support for app.nit

System configuration

Configure your system for OS X by installing Xcode and brew. Follow the instructions in README.md at the root of the repository.

Optionally, install ios-sim to run compiled apps in the simulator: brew install ios-sim

Compile and run a simple application

Let's use the hello_ios example in the folder lib/ios/examples/.

Compile with: nitc hello_world.nit

Run in the simulator with: ios-sim hello_world.app

Sample portable applications

See the calculator example at examples/calculator and the Tnitter client at contrib/tnitter/ for portable applications working on GNU/Linux, OS X, iOS and Android.

Application icon

To associate icons to your application, create the directory ios/AppIcon.appiconset and fill it with standard icons and Contents.json. These files can be generated in a number of different ways:

  • Using the tool svg_to_icons packaged with the Nit repository at contrib/inkscape_tools/bin/svg_to_icons.

  • Using Xcode to assign images to each slot, create the folder and the file Contents.json.

  • Write or modify the file Contents.json manually. It is in Json format and easily readable.

All subgroups and modules

module app

ios :: app

Basic structure for Nit apps on iOS
module assets

ios :: assets

Implementation of app::assets
module audio

ios :: audio

iOS implementation of app::audio using AVAudioPlayer
module data_store

ios :: data_store

Implements app::data_store using NSUserDefaults
group examples

ios > examples

module glkit

ios :: glkit

GLKit services to create an OpenGL ES context on iOS
module http_request

ios :: http_request

Implementation of app::http_request for iOS
module ios

ios :: ios

iOS platform support
module platform

ios :: platform

Triggers compilation for the iOS platform
group ui

ios > ui

Implementation of app::ui for iOS
package_diagram ios\> ios app app ios\>->app cocoa cocoa ios\>->cocoa json json ios\>->json core core ios\>->core app->json app->core serialization serialization app->serialization pthreads pthreads app->pthreads android android app->android cocoa->core gamnit gamnit android->gamnit ...core ... ...core->core ...serialization ... ...serialization->serialization ...pthreads ... ...pthreads->pthreads ...json ... ...json->json ...android ... ...android->android gamnit->ios\> ios\>examples\> examples ios\>examples\>->ios\> ios\>ui\> ui ios\>ui\>->ios\> android... ... android...->android

Ancestors

group codecs

core > codecs

Group module for all codec-related manipulations
group collection

core > collection

This module define several collection classes.
group meta

meta

Simple user-defined meta-level to manipulate types of instances as object.
group parser_base

parser_base

Simple base for hand-made parsers of all kinds
group poset

poset

Pre order sets and partial order set (ie hierarchies)
group pthreads

pthreads

POSIX Threads support
group serialization

serialization

Abstract serialization services
group text

core > text

All the classes and methods related to the manipulation of text entities

Parents

group app

app

app.nit, a framework for portable applications
group cocoa

cocoa

Cocoa API, the development layer of OS X
group core

core

Nit common library of core classes and methods
group json

json

read and write JSON formatted text

Children

group examples

ios > examples

group gamnit

gamnit

Portable game and multimedia framework for Nit
group ui

ios > ui

Implementation of app::ui for iOS

Descendants

group android

android

Android platform support and APIs
group bundle

android > bundle

A mapping class of String to various value types used by the
group depth

gamnit > depth

gamnit depth, a framework to create portable 3D games in Nit.
group egl

egl

Interface between rendering APIs (OpenGL, OpenGL ES, etc.) and the native windowing system.
group examples

app > examples

group flat

gamnit > flat

Simple API for 2D games, built around Sprite and App::update
group glesv2

glesv2

OpenGL graphics rendering library for embedded systems, version 2.0
group intent

android > intent

Services allowing to launch activities and start/stop services using
group notification

android > notification

Services to show notification in the Android status bar
group service

android > service

Android service support for app.nit centered around the class Service
group shared_preferences

android > shared_preferences

Services allowing to save and load datas to internal android device
group src

android > examples > src

group ui

android > ui

Views and services to use the Android native user interface
group virtual_gamepad

gamnit > virtual_gamepad

Virtual gamepad mapped to keyboard keys for quick and dirty mobile support