iOSCiao, nell’articolo precedente ti ho mostrato un’alternativa all’uso dell’UDID rimaneggiando quanto indicato da Apple come sostituiti possibili al posto dell’UDID ormai in pensione. Hai però compreso che esistono diversi punti deboli nell’adozione dei sistemi indicati da Apple, e le relative manipolazioni fruibili, ad esempio il ripristino del dispositivo annulla i precedenti UUID registrati, così come il backup su un dispositivo ed il restore su un altro può comportare la copia dell’UUID memorizzato. Esistono altri identificativi univoci presenti sui dispositivi iOS per accedere ai quali, però, è necessario lavorare ad un livello più basso, anche se comunque legale. Tra questi vi è il codice IMEI (che però non è necessariamente disponibile su tutti i dispositivi), il numero di serie ed infine il MAC Address argomento di questo articolo.

Una definizione valida di MAC Address può essere trovata su wikipedia a questo indirizzo. Leggendo la definizione emerge chiaramente che il MAC Address è assegnato in modo univoco dal produttore dell’interfaccia di rete in sede di fabbrica, ma che può essere modificato via software (anche se sui dispositivi iOS è un’operazione sicuramente più complicata rispetto alla semplice lettura), resta però un parametro identificativo univoco che contrariamente al UUID assegnato al venditore non cambia in caso di reset del dispositivo.

Non essendo questo un parametro standard che uno sviluppatore comune dovrebbe normalmente adoperare (in realtà esistono decine di casi in cui conoscere il MAC address di una interfaccia di rete è utile per effettuare meccanismi di protezione e controllo) non esiste una API specifica che permetta di accedere a questo dato del dispositivo, bisogna quindi scendere di livello e lavorare cone le librerie C a nostra disposizione.

Continue reading »

Tagged with:  

Tip iOS #44 – UDID alternative all’uso

On 24/03/2013, in iOS Tips, by RScarciello

iOS In questi giorni si è verificato uno degli eventi più temuto dagli sviluppatori iOS anche se ampiamente previsto ed annunciato tempo addietro da Apple stessa, dal primo maggio non sarà più possibile sottoporre applicazioni per l’approvazione, siano esse nuove o semplici aggiornamenti, che fanno uso dell’UDID del dispositivo e, per quanto riguarda l’iPhone, non supportano il display da quattro pollici e le visualizzazioni retina. Nel caso non si rispettino queste regole l’applicazione verrà automaticamente scartata.

Mentre per il secondo caso (il supporto ai nuovi display ed alle elevate risoluzioni) la soluzione è relativamente semplice, il problema dell’UDID mette decisamente in difficoltà tutta una serie di applicazioni che adoperavano questo identificativo per tenere traccia e riconoscere rapidamente il dispositivo in modo univoco.

L’UDID, se non lo sai, è una stringa alfanumerica identificativa assegnata in modo univoco ad ogni singolo dispositivo iOS. Si può tranquillamente paragonare ad un numero di serie, ma lunghezza e complessità lo rendono anche più sicuro in quanto relativamente poco accessibile, il suo uso più comune è quello di registrarlo nel Device Portal come dispositivo su cui effettuare i test in quanto è adoperato per firmare i certificati di debug in modo che un’applicazione sia abilitata a funzionare su uno specifico dispositivo.

Continue reading »

Tagged with:  

Tip iOS #42 – Usiamo AFNetwoking

On 04/10/2012, in iOS Tips, by RScarciello

iOSLa necessità di comunicare con servizi presenti su Internet è presente in quasi tutti le applicazioni in forma sia diretta che indiretta. Anche se l’SDK di iOS mette a disposizione diversi metodi nativi, la necessità di dover scrivere il codice per usarli, spesso, si traduce nella scrittura di codice ripetitivo ed in una discreta perdita di tempo. Fortunatamente sono disponibili diversi framework che possono semplicifare tale compito. Tra questi uno dei più promettenti è AFNetworking.

Fino all’anno scorso una delle librerie principali adoperate per inviare e ricevere dati verso i servizi presenti su internet (anche webform o stream dati) era la libreria ASIHTTPRequest di Ben Copsey, purtroppo lo sviluppatore ha deciso di fermare lo sviluppo della libreria dopo il rilascio della versione 1.8.1 e, ad oggi, nessuno sembra aver raccolto il testimone per garantirne gli aggiornamenti.

Ma, si sa, morto un Papa, per quanto buono, se ne fa un altro. Tra i vari framework che sono emersi due sono particolarmente degni di nota: RestKit ed AFNetworking entrambi presentano punti di forza e debolezza, ma sono, de facto, la scelta obbligata per chi vuole comunicare con servizi Web e non vuole riscoprire l’acqua calda.

Continue reading »

Tagged with:  

Tip iOS #41 – Verificare un indirizzo email

On 03/10/2012, in iOS Tips, by RScarciello

iOS

La validazione dei dati è, nell’ambito dello sviluppo software, uno dei compiti più snervanti e necessari, la quantità di errori che un utente medio compie nel riempimento di form ed i modi sempre nuovi di commettere errori a volte lascia a bocca aperta. Per alcune informazioni la verifica dei dati è relativamente semplice, per altre, invece, praticamente impossibile. Esistono poi dei dati che avendo una forma strutturata possono semplificare enormemente la loro validazione, almeno dal punto di vista formale, a patto di conoscere determinati strumenti. La verifica di un indirizzo email è sicuramente tra questi.

Un indirizzo email si presenta sempre nella forma: utente@dominio (ad esempio info@htmedia.it), vi sono quindi due parti principali con un determinato elemento di separazione. La difficoltà consta nel fatto che la parte utente, così come la parte dominio, possono contenere, a loro volta, un vasto set di caratteri strtturati secondo varie regole. Per un’introduzione alla struttura di un indirizzo email puoi partire da questo link su Wikipedia.

Continue reading »

Tagged with:  

iOS 6 ed iPhone 5 – Quale priorità?

On 01/10/2012, in Articoli, by RScarciello

iOSiOS 6 ed iPhone 5 sono finalmente giunti qui da noi.

Come sempre, ad ogni lancio, si ripete la solita scena. Code davanti ai punti vendita per l’acquisto del terminale. Qualcuno che scavalca la fila anche un pò a spintoni. Comportamento che si può tranquillamente definire scorretto dai venditori/operatori.

Come ha già segnalato qualche blog, per acquistare un iPhone 5 senza abbonamento è necessario rivolgersi ad un Apple Store, entrare in qualsiasi negozio di telefonia che disponga di un iPhone pone davanti alla solita scena: il prodotto è accessibile esclusivamente sottoscrivendo un piano tariffario (i negozi 3 sottolineano che il piano tariffario minimo è il TOP 800) se invece si va sui siti nulla di tutto ciò è specificato.

Prenotare il cellulare negli Apple Store è impossibile, la risposta, gentile ma ferma, è che loro non effettuano prenotazioni e non sanno neanche quando il prodotto sarà disponibile, tradotto “Fatti una passeggiata da noi, prima o poi, a furia di passare, lo trovi”.

Continue reading »

Tagged with:  

iAd – Il punto della situazione

On 04/07/2012, in Articoli, by RScarciello

iAdCiao,

oggi vorrei fare il punto su iAd e su come esso sia variato, se è variato, nell’ultimo periodo dopo gli interventi effettuati da Apple.

Come forse saprai, il network pubblicitario di Apple non sta riscuotendo il successo sperato. Complice inizialmente l’elevato costo del pacchetto pubblicitario, ma soprattutto la presunzione di Apple di voler giudicare i contenuti e decidere quali fossero accettabili e quali no.

Questo ha portato, nel tempo, anche grosse aziende a lamentarsi e ad abbandonare il network verso lidi meno evoluti ma sicuramente più liberi. Negli ultimi mesi la politica perpretata dalla mela morsicata si è ammorbidita notevolmente diminuendo di molto il limite di ingresso, nella selezione degli spot e nelle modalità di addebito (prima erano per CPM e CPC, ora solo per CPM).

Continue reading »

Tagged with:  

iOSCiao,

oggi vorrei parlarti della possibilità di accrescere i dati all’interno di un’applicazione iOS adoperando i servizi presenti su un server e come protocollo per il flusso dati il formato JSON.

Qualche anno fa, con l’arrivo degli smartphone ad uso massivo, l’uso dei servizi web ha avuto un incremento notevole. I protocolli adoperati erano, però, studiati per sistemi dotati di potenza e scopi differenti.

Fondamentalmente si delinearono due tipi di flussi usati in maggioranza, quello adoperante il protocollo XML generico e quello adoperante la sua specializzazione, il protocollo SOAP. Essendo flussi nati per contenere non solo il dato ma anche la tipologia dello stesso (o quantomeno una sua descrizione) la quantità di dati trasmessa tra il server ed il client risultava ben maggiore del dato stesso.

Inoltre, essendo entrambi i protocolli basati su stringhe, una volta giunto il flusso al dispositivo mobile, l’elaborazione degli stessi risultava particolarmente onerosa. Attualmente questi flussi dati sono comunque molto usati nell’ambito dello scambio di informazioni attraverso i servizi, nel frattempo è emerso però un nuovo tipo di flusso denominato JSON (Javascript Object Notation). Punto di forza di questo protocollo è la sua semplicità (anche se il dato non è in grado di autodescriversi) e l’estrema semplicità nell’essere trattato tramite il linguaggio Javascript, infatti il suo principale uso è proprio nello scambio dati secondo il protocollo AJAX.

Continue reading »

Tagged with:  

iOSBuongiorno a tutti,

come detto nel precedente articolo il Beta Testing per le nostre applicazioni è fondamentale, permette infatti di raccogliere dei feedback sul nostro lavoro ed anche se non tutti questi feedback si rivelano utili, molti sono almeno interessati e degni di considerazione.

Ma come effettuare i test?

Il metodo più immediato consiste nel caricare l’applicazione sui propri dispositivi e adoperare amici, parenti e colleghi come cavie. Questo è sicuramente un metodo veloce ma oltre a farci tormentare tutti coloro che ci circondano ci costringono ad essere presenti al momento del test.

Continue reading »

Tagged with:  

iOSBuongiorno a tutti,

una delle problematiche che più frequentemente si affrontano quando si accettano input da tastiera, nelle applicazioni iOS, riguardano la possibilità di filtrare i caratteri inseriti dagli utenti.

Se è pur vero che possiamo impostare la tastiera di default che viene presentata all’utente, è anche vero che, spesso, queste tastiere contengono caratteri indesiderati inoltre l’utente può avere la facoltà di passare ad un’altra tastiera.

Per assicurarsi che i dati inseriti siano qundi quelli giusti, è preferibile aggiungere un filtro che lasci passare solo le informazioni desiderate, anche in caso di copia ed incolla.

Nell’esempio seguente aggiungeremo un filtro che permette l’inserimento all’interno di un UITextField esclusivamente di dati numerici.

Continue reading »

Tagged with:  

Icona SpaceStunt 3DBuongiorno a tutti,

sul canale YouTube è disponibile il nuovo video relativo al progetto SpaceStunt.

Il video illustra come creare un progetto in Unity3D, impostarlo per l’ambiente iOS e quindi eseguire i primi importanti settaggi:

  • Posizionamento della telecamera principale
  • Importazione di assets
  • Creazione di uno Skybox material
  • Assegnazione del materiale allo sfondo
  • Creazione ed impostazione di un sistema particellare.

Il video è disponibile qui sotto, immediatamente dopo il salto.

Continue reading »

Tagged with:  
Wordpress Code Snippet by Allan Collins