L'SDK dell'iPhone è una piaga

Thursday, 09 October 08
Qualche giorno fa ho comprato un MacBook. Tralascio il mio impatto non troppo felice con l'interfaccia utente di Mac OS X... anni e anni di xterm con background grigi non ti rendono il tipo di persona adatta a mac, ma spero che imparerò ad apprezzarne alcune caratteristiche interessanti...

Ci sono tre motivi fondamentali per cui ho acquistato il Mac: sviluppare software per Mac, poter testare i siti su Safari/Mac, ma specialmente poter installare l'SDK ufficiale di iPhone e smanettarci.

In realtà il mio portatile sta cadendo a pezzi, dunque spero anche di installare Ubuntu sul nuovo portatile quando mi abbandona del tutto e farne così il mio nuovo ferro di lavoro. Ma non mi dilungo perchè il vero contenuto di questo post è raccontarvi come è andata la giornata di oggi lottando con l'SDK.

È incredibile quello che devi fare per usarlo:
  • Installare l'SDK
  • Aprire una utility per generare un file di richiesta di certificato
  • Spedire tale richiesta alla Apple
  • Aspettare che te la approvano
  • Scaricare dunque il tuo certificato e anche un altro certificato di Apple
  • Inserire l'ID del tuo telefono sul sito della Apple per registarlo come device di sviluppo
  • Creare un tuo 'Provisioning Profile'
  • Installarlo su Xcode
Tutto questo solo per poter usare l'SDK e testare le applicazioni sul tuo telefono. Infatti per la distribuzione reale bisogna fare altri 45 passaggi vari, le cose più assurde.

Sembra praticamente pensato per scoraggiare chiunque volesse sviluppare su iPhone. Per non parlare del fatto che il simulatore, una delle cose più ambite da me tra le funzionalità dell'SDK, non ha alcun supporto per l'accelerometro (nonostante il MacBook ha un accelerometro all'interno... ma almeno una simulazione con mouse, o con un dialog in cui inserisci x,y,z la si poteva fare), per cui per esempio devo testare il mio gioco sempre sul telefono reale.

Ovviamente dopo aver fatto tutta questa catena di Sant'Antonio non funzionava una cippa. Infatti devi andare a settare tramite Xcode dei dettagli dei tuoi certificati e di chi sei e come ti chiami e sticazzi vari in varie minuscole caselline, fino a quando il tuo device, finalmente, accetta il benedetto file e lo fa partire realmente. Un casino incredibile non privo di intoppi, che so c'è un file XML in cui non avevo specificato il nome della mia classe delegata e non veniva neppure chiamato il metodo didFinishLaunching: per cui trasferivo l'applicazione e vedevo solo uno schermo nero.

Comunque alla fine ce l'ho fatta! Per giustificare questa perdita di tempo ed energie devo assolutamente finire il gioco e metterlo nello Store, almeno posso dire ci ho provato :) E ovviamente non sarà l'ultima applicazione che scrivo, mi voglio avvicinare sempre di più ad iPhone e successivamente ad Android, mi sa che molte battaglie del futuro si giocheranno li o su qualche altro dispositivo portabile.

In ogni caso... ecco lo stato della applicazione, ben rappresentato da uno screenshot qui sotto. È sostanzialmente asteroids con una grafica meno mostruosa. Date le limitate pontenzialità della CPU dell'iPhone per disegnare lo sfondo in ogni frame (non c'è altro modo che io conosca) ho dovuto andarci di memcpy() sul framebuffer, perchè tutte le altre cose utilizzano una quantità di CPU notevole, ad esempio gli "Asteroidi" ruotano a diverse velocità e non ho usato sprite successivi ma li faccio davvero ruotare alla CPU. Tra qualche gioro parto per Firenze e poi vado a Milano per cui non so quanto potrò continuare questa settimana, ma conto di riprendere dalla prossima la solita ora quotidiana di iAsteroids e metterlo nello store prima possibile. Alla prox. Ah, ecco lo screenshot:

prima o poi lo finirò...

Edit: per approfondie:
post letto 6154 volte (1.9 letture al giorno in media)
Postato alle 20:57:01 permalink | 7 commenti | stampa | posta | trackbacks

Commenti

straluna Scrive:
09 Oct 08, 22:08:42
Per iAsteroids: Grande! :-)

Per Milano: fai un fischio se ti va di bere una birra...
straluna Scrive:
09 Oct 08, 22:09:45
mauro Scrive:
09 Oct 08, 22:38:24
quoto :) mi piacerebbe incontrarti di persona :)
antirez Scrive:
10 Oct 08, 14:29:00
@all: perfetto allora usiamo il blog per coordinarci. Io sono li con Fabio il mio socio, e spero proprio che almeno una sera andiamo fuori a fare un giro e bere un pò di birra (o vino, se fa freddo!) :)
Aggiornamenti qui allora a presto.
havana9 Scrive:
10 Oct 08, 15:13:06
@antirez: maestro non dimenticare il tuo federe discepolo... se passi da milano devi assolutamente avvisare
antirez Scrive:
10 Oct 08, 15:14:47
@havana9: uella! Siamo li io e Fabio un paio di giorni per lavoro, sicuramente almeno una sera usciamo come dicevo, ti chiamo di primo pomeriggio e ti facciamo sapere dove si fa così se sei in zona... ma sarà toccata e fuga, come sempre. Ciao!
straluna Scrive:
12 Oct 08, 08:27:53
Mooolto bene!
Sai già in che giorno sarete a Milano?
Io mi porto avanti e propongo il frida:

http://www.fridaisola.it

a presto,
a.
Comments closed