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

Bash Script Array und if Problem

Hier ein paar kleine Kniffe in Bezug auf Bash Scripte:

Um einen Array mit Werten anzulegen und diese Werte zu durchlaufen:

#!/bin/bash

TESTARRAY=(hallo welt dies ist ein Array Test)
for i in ${TESTARRAY[@]}
do
  echo $i
done

Diese Ausgabe erzeugt eine zeilenweise Ausgabe der einzelnen Strings im Array.

Als zweites noch ein kleines Kniff bei if-Abfragen in Bash Scripten.
Ein häufig auftretendes Problem, ist ein nicht betreten des Code Teils nach einer if Abfrage:

SELECT=`date '+%w'`
if [["$SELECT" -eq 3]];
then
echo "hello World"
fi

Diese if Anweisung wird nie erfüllt werden, das Problem sind die fehlenden Leerzeichen in der Bedingung.
Mit

SELECT=`date '+%w'`
if [[ "$SELECT" -eq 3 ]];
then
echo "hello World"
fi

funktioniert es wie gewünscht.

Eclipse Zeilennummern

Von Hause aus hat die freie Entwicklungsumgebung Eclipse, wie auch Ableger Aptana und weitere keine Anzeige der Zeilennummern.

Dies hilft bei der Entwicklung jedoch ungemein, da die meisten Error- / Debugausgaben sich auf Zeilennummern beziehen.

Um die Zeilennummern zu aktivieren ist die Checkbox unter:

General -> Editors -> Text Editor

Im Menü Window > Preferences erreichbar.

Bei Betätigen des OK Buttons werden die neuen Einstellungen übernommen und die Zeilennummern werden wie gewünscht angezeigt.