👒 Objective C with mulle-sde and the MulleFoundation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dox
mulle-project
src/foundation
.gitignore
.travis.yml
CMakeLists.txt
CMakePackage.cmake
Dockerfile
LICENSE
README.md
RELEASENOTES.md
foundation-developer.sublime-project
installer

README.md

👒 Objective C with mulle-sde and the MulleFoundation

foundation-developer is a good starting point for Objective-C development with mulle-objc. If you install foundation-developer as a package, you will get all the requirements like mulle-sde and mulle-clang as dependencies with it.

foundation-developer is a collection of mulle-sde extensions to support development of MulleFoundation code. It enables the use of the common #import <Foundation/Foundation.h> in your projects. It is very thin package atop of mulle-foundation-developer.

For further details, use mulle-objc Community as the starting point on the MulleFoundation and mulle-objc in general. See mulle-sde Wiki for an introduction to mulle-sde.

Extension Type Description
foundation/objc-developer meta Create Objective-C projects

Install

The initial install will only add mulle-sde and mulle-clang to your system. The Foundation itself will be fetched by mulle-sde, when you create a new project (see Usage below).

Check out the Wiki if you want to build the MulleFoundation without creating a mulle-sde project.

Packages

OS Command
macos brew install mulle-kybernetik/software/foundation-developer
debian sudo apt-get -y install foundation-developer (but see below)
ubuntu same as debian

Debian Mulle kybernetiK and Codeon repositories

For apt installation you need to add the Mulle kybernetiK and Codeon debian repositories first:

wget -O - https://www.codeon.de/dists/codeon-pub.asc | sudo apt-key add -
echo "deb [arch=amd64] http://download.codeon.de `lsb_release -c -s` main" | sudo tee /etc/apt/sources.list.d/codeon.de-main.list > /dev/null
wget -O - "https://www.mulle-kybernetik.com/dists/debian-admin-pub.asc" | sudo apt-key add -
echo "deb [arch=all] http://www.mulle-kybernetik.com `lsb_release -c -s` main" | sudo tee "/etc/apt/sources.list.d/mulle-kybernetik.com-main.list" > /dev/null
sudo apt-get update

Script

mulle-sde provides an installer-all script to install the required commands and foundation-developer into /usr or some other place.

You need to install mulle-clang yourself.

This is suitable for environments without supported package managers:

Install into /usr with sudo

curl -L -O 'https://raw.githubusercontent.com/mulle-sde/mulle-sde/release/installer-all' && \
chmod 755 installer-all && \
sudo OTHER_PROJECTS="MulleFoundation/foundation-developer;latest \
MulleFoundation/mulle-foundation-developer;latest \
mulle-objc/mulle-objc-developer;latest \
mulle-c/mulle-c-developer;latest" \
SDE_PROJECTS="mulle-sde-developer;latest" ./installer-all /usr

Install into ${HOME} (without sudo)

curl -L -O 'https://raw.githubusercontent.com/mulle-sde/mulle-sde/release/installer-all' && \
chmod 755 installer-all && \
OTHER_PROJECTS="MulleFoundation/foundation-developer;latest \
MulleFoundation/mulle-foundation-developer;latest \
mulle-objc/mulle-objc-developer;latest \
mulle-c/mulle-c-developer;latest" \
SDE_PROJECTS="mulle-sde-developer;latest" ./installer-all ~

You need to install mulle-clang yourself.

Docker

There is a Dockerfile in the project.

This will build and run an ephemeral container named foundation on ubuntu:

sudo docker build -t foundation 'https://raw.githubusercontent.com/MulleFoundation/foundation-developer/release/Dockerfile'
sudo docker run -i -t --rm foundation

Usage

Check that the (meta) extensions are found:

mulle-sde extension list

Create an Objective-C executable project

mkdir foo
cd foo
mulle-sde init -m foundation/objc-developer executable

Create an Objective-C library project

mulle-sde init -m foundation/objc-developer -d foolib library

How to write Objective-C

This is a list of resources useful when starting to write Objective-C.

Programming with Objective-C, by Apple

Programming With Objective C covers all the basics. Ignore the chapter about "Blocks", everything else should be fine.

Concepts in Objective-C Programming, by Apple

Concepts in Objective-C Programming is more in-depth and is a good read to understand some terminology used by fellow Objective-C coders. Ignore the chapters "Delegates and Data Sources", "Model View Controller", "Object Modeling", "Outlets", "Receptionist Pattern", "Target-Action", "Toll-Free Bridging"

Learn Objective-C, CocoaDev

Learn Objective-C gives a quick overview of concepts. Ignore the part about "Dot Syntax" though.

Learn-C.org

An interactive tutorial site to learn the basics of C is learn-c.org free interactive C tutorial

Relations

package relationships