Stanford iPhone CS193P – Cocoa Programming

iPhone Stanford in iTunes

iPhone Stanford in iTunes

Ein super Einstieg in die iPhone Programmierung ist die Stanford Vorlesung CS193P, bei der zwei Apple Mitarbeiter(Evan Doll und Alan Cannistraro) von Null beginnen und das iPhone Developement Framework erklären. Zwischen den normalen Vorlesungen sind zahlreiche Special Events wie Berichte von Startup Gründern eingeschoben.

Die Vorlesungen können über iTunesU kostenfrei geladen werden und sind perfekt aufgearbeitet.

Zur Unterstützung bekommt man unter:

CS193P – Cocoa Programming

Das komplette Kursmaterial, Präsentationen, Beispiele und Tipps.

iPhone GUI Entwurf Schablone Stencil

Programmierer haben meist ein Problem: Wie entwerfe ich eine ansprechende GUI?

XCode gibt den iPhone Entwickler mit dem Interface Builder ein mächtiges Werkzeug an die Hand, ist aber im frühen Schritt der Entwicklung nicht unbedingt Zielführend. Interface Builder bietet zwar alle GUI Elemente, verleitet jedoch schnell dazu, an Implementierungen zu denken, Outlets und Actions zu definieren usw. Der eigentliche Designgedanke geht schnell verloren.

Um sich voll auf das GUI Design konzentrieren zu können, bedarf es also Alternativen.

Die Variante mit dem geringsten technischen Aufwand ist Papier und Stift. Auf einer DinA4 Seite kann übersichtlich jede Möglichkeit einer Oberfläche durchgespielt werden.

iphone-psd

Für nicht so begabte Zeichner haben die Jungs von tehaan & lax eine PSD Datei (9 MB) vorbereitet, die fast alle GUI Elemente einer iPhone Anwendung abbildet. So kann im verbreiteten Photoshop oder einer alternativen Grafikanwendung die Software im Geiste entstehen, ohne technisch zu tief zu gehen.

iphone-entwurf-2Neben Photoshop kann man mit dem Vektorprogramm Omnigraffle mit Hilfe dieser Stencil Schablonen Grafische Oberflächen gezielt für das iPhone konzipieren. Vorteil hier: es muss kein Grafikprogramm beherrscht werden.

iphone-entwurf1

(via iphonedevelopertips.com)

Audiko Ringtones for Free

Audiko Screenshot free ringtones

Audiko Screenshot free ringtones

Heute mal ein etablierter Service: Audiko.

Audiko bietet dem User die Möglichkeit, eigene MP3 Files per Upload in den Dienst einzubinden um die Datei danach auf Klingelton – Länge zurecht zu schneiden.

Spannender ist jedoch die Download Funktion, die auch unregistrierten Benutzern zur Verfügung steht. Dabei kann in den vorhandenen Klingeltönen gesucht werden, ein bestimmter Künstler nach seinen Klingeltönen durchstöbert oder in den Top100 Klingeltönen nach neuen Ringtones geschaut werden.

Die freien Ringtones lassen sich direkt online zur Probe anhören und dann in verschiedenen Formaten herunterladen:

  • Download mp3 ringtone on desktop
  • Download ringtone for iPhone
  • Download ringtone for old models (AMR)

Das Motto der Seite:

„audiko“ word exists in no language all over the world.

audiko is a simple service which helps you to make a ringtone of your favorite song!

spricht für sich.

Zusammenfassung:

Audiko bietet dem Nutzer kostenlosen Download von geschnittenen Klingeltönen / Ringtones an. TOP 100 Charts, Künstlersortierung und Suchfunktion gehören zum Funktionsumfang.

iPhone random number arc4random

arc4randomexample

Eine zufällige Zahl auf dem iPhone zu erzeugen kann bei upload Anwendungen sinnvoll sein um keine vorhandenen Daten zu überschreiben. Statt der random() Methode sollte besser arc4random() genutzt werden.

Auszug

The arc4random() function uses the key stream generator employed by the
     arc4 cipher, which uses 8*8 8 bit S-Boxes.  The S-Boxes can be in about
     (2**1700) states.  The arc4random() function returns pseudo-random num-bers numbers
     bers in the range of 0 to (2**32)-1, and therefore has twice the range of
     rand(3) and random(3).

     The arc4random_stir() function reads data from /dev/urandom and uses it
     to permute the S-Boxes via arc4random_addrandom().

     There is no need to call arc4random_stir() before using arc4random(),
     since arc4random() automatically initializes itself.

Random() erzeugt bei jedem Aufruf die gleiche Abfolge von Zufallszahlen und ist daher NICHT für diesen Zweck zu gebrauchen.

Zum Abschluss noch ein kleines Codebeispiel zu arc4random();

NSLog(@“Random Number“);
NSString *foo =[NSString stringWithFormat:@“%d“,arc4random()];
NSLog(foo);

iPhone Error Could not support development

iPhone Developement

Beim der Entwicklung einer iPhone Applikation kann es beim Release / Debug auf dem iPhone Device im XCode Organizer zu folgender Fehlermeldung kommen:

„Could not support development.“

mit einem Zusatz von

unexpected error 0x12345667

Eine genaue Ursache hierfür zu suchen ist relativ unnötig, da ein Neustart des iPhones den Fehler beheben sollte, wenn der Reboot nicht hilft, muss der MAC neu gestartet werden.

UPDATE:

Screenshots:

bild-3

Screenshot 1: XCode Organizer Error

Screenshot 2: XCode compiling error

Screenshot 2: XCode compiling error

Definition Klasse Instanz

Wer sich mit Objekt Orientierter Programmierung beschäftigt, kommt zwangsläufig zum Thema Klasse und Instanz.

Neulinge haben an dieser Stelle oft Verständnissprobleme. Eine sehr gelungene Analogie wird im iPhone CS193P – Cocoa Programming Kurs der Uni Stanford gebraucht:

Class is the blueprint to create instances.

Kurz und einleuchtend!

iPhone development howto device release with code signing

Wer sich bei Apples iPhone Development Programm angemeldet hat, möchte auch in den Genuss kommen, die eigenen Programme auf einem gerät testen zu können.

Hier eine kleine Anleitung, wie man Xcode dazu bewegt, die Programme auf das iPhone zu spielen.

Weiter unten im Artikel werden Probleme und mögliche Ursachen beschrieben.

1. Schritt Zertifikat beantragen um als iPhone Developer erkannt zu werden

Certificate Signing Request erstellen

Schlüsselbundverwaltung -> Zertifikatsassistent -> Zertifikat einer Zertifizierungsinstanz anfordern

csr

  • Mail Adresse und Name entsprechend dem Apple Account eintragen
  • CSR auf Festplatte speichern
  • Zertifikatverwaltung Apple Developer Connection -> hochladen
  • Nach Bestätigung das Zertifikat herunterladen und zum Schlüsselbund hinzufügen

developmenet-certificates

  • Schlüsselbundverwaltung -> Einstellungen -> Zertifikate beide Optionen ausschalten

2. Device registrieren

3. App ID

Jedes Programm benötigt einen eigenen Identifier.

4. Provisioning

Im 4. Schritt wird das Gerät, der Entwickler und das Programm zu einem Datensatz zusammengeführt.

  • Apple Developer Connection Provisioning Verwaltung -> Add Profile
  • Gerät, Entwickler und App ID auswählen
  • Submit
  • Kurz warten, dann Download des entstandenen Files
  • Datei mit XCode öffnen
  • Im XCode Organizer kann in „Provisioning Profiles“ geprüft werden, was bereits installiert ist.
  • Selbiges beim angeschlossenen iPhone

5. Projekt signen

  • Projektname -> Rechtsklick -> Get Info
  • Code Signing -> Any iPhone OS -> iPhone Developer auswählen

6. Build

  • Device – OS Version Release auswählen
  • Build and Go klicken

build-success

Probleme

Mögliche Fehler die auftreten können:
iphone code signing error

Ursachen:

  • Das kann zum einen daran liegen, das man nicht die richtige Identität ausgewhlt hat, um das Projekt zu signen.
  • Zum anderen kann es sein, dass man sich verschrieben hat beim AppName oder dem Package.
  • Als letzte Ursache kann ein fehlen des gebündelten Provisioning Pakets sein, siehe Schritt 4.

Weitere Infos:

nerdpride Blog Eintrag

Apple Developer Support Center

Shutdown Day 2.Mai 2009

Shutdown Day 2009

Am 2. Mai 2009 steht der ShutdownDay 2009 an. An diesem Tag sollen sich die Menschen selbst fragen:

„Can you survive for 24 hours without your computer ?“

Eine gute Frage, für die Mehrzahl dürfte der Computer mittlerweile zum alltäglichen Gegenstand geworden sein. Ob auf Arbeit oder im Privatleben, der Computer nimmt einen immer größeren Teil der Zeit ein. Es bleibt jedoch die Frage offen, ob beim ShutdownDay auch Handhelds, Smartphones und Konsorten gemeint sind. Streng genommen, sind diese Geräte genauso „Rechner“ wie der klassische Heim PC.

Zitat:

„Shutdown Day announces the Annual 2009 Campaign. Just like in years past, Shutdown Day 2009 calls on every net obsessed, computer–addicted individual to SHUT DOWN their computers for 24 hours on May 2, 2009 and do something else!

New, Shutdown Day 2009 will be promoting several organizations that help young people suffering from computer addiction. A bunch of events are also organized for May 2, 2009, so stay tuned and watch this space.“

Via Brennr

Ein ♥ für Blogs

Ein Herz für Blogs, eine nette Idee von Blogger Kai. Ziel ist eine bessere Vernetzung der Blogs und das Auffinden der ein oder anderen Perle in der Bloglandschaft.

Eine sehr nette Idee und hier meine Beiträge:

brennr.de – Blog zum Thema laufen, rennen und alles drumrum

shopblogger.de – der Name ist Programm

caschys Blog – Stadt bremerhaven, nette Artikel zu Software etc.

lawblog.de – ein Klassiker, bedarf keiner Beschreibung

fscklog – ipod, iphone, apple, technik and many more…