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 groups 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 android... ... android...->android

Ancestors

package android

android

Android platform support and APIs
package binary

binary

Read and write binary data with any Reader and Writer
package c

c

Structures and services for compatibility with the C language
package curl

curl

Data transfer powered by the native curl library
package dom

dom

Easy XML DOM parser
package egl

egl

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

gamnit

Portable game and multimedia framework for Nit
package gen_nit

gen_nit

Support to generate and otherwise manipulate Nit code
package geometry

geometry

Basic geometry data structures and services.
package glesv2

glesv2

OpenGL graphics rendering library for embedded systems, version 2.0
package gtk

gtk

GTK+ widgets and services
package java

java

Supporting services for the FFI with Java and to access Java libraries
package jvm

jvm

Java Virtual Machine invocation API and others services from the JNI C API
package linux

linux

Implementation of app.nit for the Linux platform
package matrix

matrix

Services for matrices of Float values
package meta

meta

Simple user-defined meta-level to manipulate types of instances as object.
package mnit

mnit

package more_collections

more_collections

Highly specific, but useful, collections-related classes.
package msgpack

msgpack

MessagePack, an efficient binary serialization format
package opts

opts

Management of options on the command line
package parser_base

parser_base

Simple base for hand-made parsers of all kinds
package performance_analysis

performance_analysis

Services to gather information on the performance of events by categories
package pipeline

pipeline

Pipelined filters and operations on iterators.
package poset

poset

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

pthreads

POSIX Threads support
package realtime

realtime

Services to keep time of the wall clock time
package sdl2

sdl2

This is a low-level wrapper of the SDL 2.0 library (as sdl2) and SDL_image 2.0 (as sdl2::image).
package serialization

serialization

Abstract serialization services
package socket

socket

Socket services
package sqlite3

sqlite3

Services to manipulate a Sqlite3 database
package template

template

Basic template system
package xdg_basedir

xdg_basedir

Services for using the XDG Base Directory specification

Parents

package app

app

app.nit, a framework for portable applications
package cocoa

cocoa

Cocoa API, the development layer of OS X
package core

core

Nit common library of core classes and methods
package json

json

read and write JSON formatted text

Children

package gamnit

gamnit

Portable game and multimedia framework for Nit

Descendants

package android

android

Android platform support and APIs
package app

app

app.nit, a framework for portable applications
package egl

egl

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

glesv2

OpenGL graphics rendering library for embedded systems, version 2.0
package linux

linux

Implementation of app.nit for the Linux platform