
Ultimamente mi sono dovuto scontrare, per l’ennesima volta, nel delirio del cambio di orientamento dei device iOS. Per quanto in Apple si siano dati da fare per semplificare la vita agli sviluppatori, questo tema è ancora un buco nero. Ci sono diversi sistemi per gestire il cambio di orientamento, di cui uno
Chiaramente, il mio obiettivo è di scrivere meno codice possibile, utilizzare Interface Builder per permettere ai designer di modificare la geometria delle interfacce senza dover intervenire sul codice, ridurre al minimo i calcoli delle posizioni degli elementi all’interno dei controller.ufficiale e presentato da Apple come esempio sul sito developer. Il problema è che, per quanto sia ufficiale, non soddisfa le mie esigenze. Oltre alla rotazione, ho anche il problema di dover presentare interfacce diverse a seconda dell’orientamento e del device (iPhone o iPad).
Alla fine ho optato per un sistema con un UIViewController di base da cui derivano i vari controller portrait e landscape. I controller sono tutti agganciati ad un UINavigationController che si prende cura di mandare i messaggi di willRotate e didRotate ai vari controller collegati senza che dobbiamo gestirceli noi a mano.
Il controller di base contiene anche tutti gli outlet che vengono collegati in IB agli oggetti disegnati nell’interfaccia, così possiamo tenere il codice di gestione di azioni e interazione con gli oggetti al minimo.
Per chi volesse vedere come funziona questo sistema, ho aperto un repository su GitHub chiamato RotationExample
E’ da un po’ che volevo scrivere un paio di righe riguardo iTablo, la soluzione che abbiamo sviluppato per la pubblicazione di riviste e cataloghi su iPad. Qualcuno, probabilmente, avrà già letto qualcosa nei miei post di qualche mese fa. Per chi non sapesse di cosa sto parlando, iTablo è il nome che abbiamo dato a questa soluzione che è composta da un lettore (una app per iPad), un designer (un’applicazione desktop per OS X e Windows) ed una serie di servizi accessori per l’hosting dei contenuti. A che serve? A pubblicare dei PDF arricchiti da elementi multimediali fondamentalmente.
Rispetto agli esordi di un anno fa, il prodotto si è decisamente evoluto. Non sto qui a snocciolare i dettagli.. per quelli c’è il sito (per ora in lingua d’Albione, ma da metà settembre sarà anche in Italiano): http://www.itablo.com/
Magari in un prossimo post parlerò un po’ della tecnologia che sta dietro ad iTablo. Per ora mi limito a dire che sono parecchio orgoglioso del lavoro svolto dal team che lo ha concepito e portato avanti. E sono contento di poter dire di aver trovato un ottimo partner per la commercializzazione di iTablo. Infatti, fin da ora è possibile acquistare iTablo tramite Graphiland, azienda leader nella distribuzione di prodotti per l’editoria. La scheda del prodotto ed il listino sono reperibili qui: scheda di iTablo
Per chi, invece, volesse saperne di più, i signori di Graphiland hanno organizzato una serie di seminari per il mese di Settembre in cui il qui presente mostrerà come trasformare le proprie pubblicazioni cartacee in contenuti multimediali interattivi consultabili su iPad. Qui potete vedere il calendario. Iscrivetevi e non ve ne pentirete! Mi raccomando, nel caso fatemi sapere chi siete e che arrivate da qui!
Categories: Blog, Tecnologia Tags: altralogica, editoria, grafica, graphiland, ios, ipad, iphone, itablo, multimedia, pdf, technosolutions, xcode
Un grazie di cuore ai signori di BoxedIce che, involontariamente, mi hanno fornito la soluzione al problema di capire come esportare i certificati corretti per l’utilizzo in un server per le notifiche push di iOS. Riporto qui sotto i passaggi essenziali:
Certificates
The first thing you need is your Push certificates. These identify you when communicating with APNS over SSL.
Generating the Apple Push Notification SSL certificate on Mac:
- Log in to the iPhone Developer Connection Portal and click App IDs
- Ensure you have created an App ID without a wildcard. Wildcard IDs cannot use the push notification service. For example, our iPhone application ID looks something like
AB123346CD.com.serverdensity.iphone
- Click Configure next to your App ID and then click the button to generate a Push Notification certificate. A wizard will appear guiding you through the steps to generate a signing authority and then upload it to the portal, then download the newly generated certificate. This step is also covered in the Apple documentation.
- Import your
aps_developer_identity.cer into your Keychain by double clicking the.cer file.
- Launch Keychain Assistant from your local Mac and from the login keychain, filter by the Certificates category. You will see an expandable option called “Apple Development Push Services”
- Expand this option then right click on “Apple Development Push Services” > Export “Apple Development Push Services ID123″. Save this as apns-dev-cert.p12 file somewhere you can access it.
- Do the same again for the “Private Key” that was revealed when you expanded “Apple Development Push Services” ensuring you save it as apns-dev-key.p12 file.
Quest’inverno, in collaborazione con 8Stop Photos e Nadir, abbiamo rilasciato un calendario per iPad chiamato Fashion Time. Fashion perchè a fare da sfondo al calendario ci sono delle belle foto di una modella (e di un modello, per le signorine che utilizzano l’iPad), ambientate in varie epoche storiche.
Da oggi, l’applicazione è scaricabile gratuitamente sul vostro iPad. Scaricatela e fatemi sapere cosa ne pensate: http://itunes.apple.com/us/app/fashion-time/id406661377?mt=8
Come sempre sono incappato in un problema di quelli che saltano fuori casualmente durante lo sviluppo. Sono mesi che utilizzo una mia libreria che, a sua volta, utilizza la ZipArchive. Di punto in bianco ha cominciato ad apparire questo errore:
___gxx_personality_v0$non_lazy_ptr in xxxxxLibrary (ZipArchive.o)
Dopo un pò di ricerche scopro che XCode per qualche motivo non utilizza g++ ma gcc per compilare le librerie. Il trucco sta nel rinominare ZipArchive.mm in ZipArchive.m .. perchè per qualche motivo così cambia il compilatore che utilizza.. mah.. XCode non smette mai di stupirmi.
Per maggiori info: http://code.google.com/p/ziparchive/issues/detail?id=4
Il tempo è tiranno e il blog arriva sempre per ultimo. Visto che ogni tanto qualcuno passa di qua, ho pensato di mettere anche qui un annuncio di lavoro. La mia azienda sta cercando dei programmatori con esperienza n Objective-C, specialmente in Cocoa Touch per lo sviluppo di applicazioni iPhone ed iPad.
Altralogica è un azienda con sede a Gorle in provincia di Bergamo. Attualmente stiamo portando avanti parallelamente lo sviluppo di un prodotto dedicato al mercato editoriale (in codice xPad) e tutta una serie di altre applicazioni proprietarie e per conto terzi.
Cerchiamo sia figure professionali che hanno già una certa esperienza consolidata nel settore, sia ragazzi anche alle prime armi che hanno magari scritto la loro prima applicazione per iPhone o che hanno una passione per i videogiochi e per i device mobile ed una preparazione per quanto riguarda linguaggi come C, C++, Java, C#.
Per chi studia abbiamo a disposizione anche dei posti per stagisti, un’occasione per infilare il naso in un mondo che sta diventando sempre più interessante di giorno in giorno.
Per un contatto lasciatemi un commento con il vostro indirizzo email o numero di telefonoqui, oppure scrivetemi a iphone@altralogica.it
Gli ultimi mesi passati a programmare su iPad mi hanno praticamente reso dipendente da questa piattaforma.. Così adesso sto provando l’applicazione dei ragazzi di wordpress per iPad. Devo ancora capire bene quanto si possa fare da qui dentro ma, per ora, sembra interessante.
Purtroppo all’iPad manca la possibilità di fare fotografie.. Percui niente immagini x ora..