13.7.08

iPhone Development - Troubleshooting

Nachdem es ein ziemliches Drama war, bis ich nach dem Erhalt des Aktivierungscodes für das iPhone Developer Program endlich soweit war, meine erste Applikation zum Testen auf mein iPhone zu schießen, hier einige Tipps:

1. Nach Aktivierung aus der Mail von Apple heraus, steht im iPhone DevCenter rechts oben der Button zum Program Portal zur Verfügung.
2. Dort sind jeweils auf dem Register "How To" Anleitungen wie bei den einzelnen Schritten vorgegangen werden muss. Die folgenden Punkte sind Ergänzungen zu den dort beschriebenen Schritten.
3. Beim Beantragen des Zertifikats muss einiges beachtet werden:
3.1. Die Zertifikate vom selben Benutzer und Computer aus beantragen, an dem später auch entwickelt werden soll (der Private Key wird beim Beantragen automatisch gespeichert und müsste sonst später übertragen werden).
3.2. Außerdem ist es ganz wichtig, dass im Dienstprogramm "Schlüsselbundverwaltung" unter Einstellungen/Zertifikate CRL ausgeschalten ist. Ansonsten gibt es später ständig das Problem, dass XCode beim Build ein "Codesign error: no certification for identifier 'iPhone Developer'[oder Name] was found in your keychain" ausgegeben wird.
4. In der Anleitung zum Hinzufügen des iPhones steht drin, dass das Phone durch Neuinstallation der iPhone-Software in eine "development state" versetzt werden muss. Das ist mit der Version 2.0 so nicht nötig!
5. Anschließend eine App-ID erzeugen. Dabei sollte laut Anleitung ein Bundle-Identifier angegeben werden. Der entspricht einem Namespace. Angegeben wird also z.B. "Nerdpride" bei App ID Name und "de.nerdpride.*" als App ID. So kann später die bundle id "de.nerdpride" heißen. Damit genügt im Grunde auch eine App-ID für die komplette Entwicklung mehrerer Anwendungen.
6. Beim Provisioning werden nun Gerät, Zertifikat, App ID und Device verknüpft. Dieses Profil wird dann runtergeladen. Im XCode Organizer (Window/Organizer) zuerst auf das Plus beim Device bei "Provisioning" klicken und dann die Datei auswählen (Nicht wie beschrieben manuell in das entsprechende Verzeichnis kopieren). Das Profil wird kurze Zeit später am iPhone installiert. Ob das geklappt hat, kann man auch am iPhone über Einstellungen/Allgemein/Profil überprüfen.
7.1. Falls beim Builden der Fehler "Your mobile device has encountered an unexpected error (0xE8000001) during the install phase: Verifying application." ausgegeben wird, stimmt evtl. die Bundle-ID noch nicht. Um das zu beheben, öffnet man in XCode die Info.plist für das aktuelle Projekt (unter "Resources" im Bereich "Groups&Files") und ändert den Wert "Bundle identifier" auf den laut Punkt 5 eingestelte App-ID. Im Beispiel oben wäre das: "de.nerdpride.${PRODUCT_NAME:identifier}
Alternativ ruhig mal das iPhone neu starten.
7.2. Falls es weiterhin Probleme mit dem Codesigning gibt, in XCode über einen rechten Mausklick auf den Projektnamen in "Groups&Files" und "Get Info" bei "Code Signing/Code Signing Identity" im Schlüssel "Any iPhone OS Device" den Namen des laut 3 erstellten Zertifikats eingeben (z.B. "iPhone Developer: Hans Halbe"). Ob das so stimmt, was man eingegeben hat, prüft man am besten, indem man unter "Code Signing Provisioning Profile" etwas weiter unten bei "Any iPhone OS Device" auf die Wertauswahl klickt. Hier sollte dann unterhalb des Namens das vorhandene Provisioning Profile angezeigt werden. Das kann man da auch ruhig auswählen.

 

Labels: , ,

3.7.08

Blizzard sind einfach die Letzten

Jetzt weiß ich, wie sich Loius Vuitton fühlen muss, wenn er durch eine Fußgängerzone läuft!
Da biete ich seit einem halben Jahr meine wunderschöne Fake-Quest-Cap im Nerdpridestore an, keine Sau interessiert's, und jetzt werde ich glatt von Blizzard kopiert (ich bin sicher bei den zwei Zugriffen im letzten halben Jahr kam einer direkt von Blizzard). Trotzdem schön. Bin mal gespannt, wann mein tolles Legendary-T-Shirt auch im Blizzard Store auftaucht!

Labels: ,

2.7.08

I Robot

"Captcha", weiß Wikipedia, "ist ein Akronym für Completely Automated Public Turing test to tell Computers and Humans Apart."
"Akronyme", weiß ich, "bezeichnen meist Dinge, die nicht weniger hirnverbrannt sind, als das Akronym selbst". Für "CAPTCHA" trifft das in besonderem Maße zu.
Der eigentliche Gedanke dahinter ist ja, dass es Computerprogrammen eben nicht gelingen soll, die richtige Antwort zu liefern. Wenn das aber auch mir bei einem Viertel der Test nicht glückt, bin ich entweder ein Computer (ich möchte bitte ein Mac sein) oder die Testautoren sind verfassungsfeindliche Sozialdarwinisten, die an der Auswahl einer neuen Herrenrasse arbeiten, die das Antlitz der Welt dauerhaft von Tippfehlern und Farbsehschwächen befreien soll.
Ich hätte da viel bessere Ideen:
  • Bilder von  Gesine Schwan, einem Bearded Collie und einer Wildlederbürste. "Klicke auf den Köter"
  • "Klein-Hänschen ißt täglich in der Schule für 10 Pfennig ein Mett-Brötchen und trinkt eine Flasche Bier zu 4 Pfennig. Seine Mutter sortiert einmal pro Woche in Heimarbeit Knöpfe und bekommt für jeweils eintausend Stück drei Mark. Hänschens Vater bezahlt 82 Pfennig für einen Liter Benzin. Wenn Vaters Kleinwagen für 100 Kilometer 37 l Benzin verbraucht, und Vater täglich 500 Meter zur Arbeit fährt, wieviele Knöpfe muss Mutter dann im Monat sortieren um Sprit und Pausenbrot zu bezahlen?" Aus welchem Jahr stammt diese Textaufgabe (1623, 1954, 2008)?
  • MacGyver, Michael Knight und Magnum unternehmen gemeinsam eine Spritztour in Airwolf. Wer würde versuchen mit dem Hubschrauber zu sprechen, wer das Zielerfassungssystems mit einem Penny und einer Haarnadel reparieren und wer hätte sich die Maschine von Higgins nur ausgeborgt?
All diese Tests würden aufs wundervollste beweisen, dass ich ein Mensch (außerdem ein Kerl, ein Bewohner des Abendlandes und mindestens Ende Zwanzig) bin und nicht, wie von den Herrenmenschen angenommen, ein dämlicher Internet-Bot.

Labels: