
Vi segnalo oggi questo utile strumento utile per mantenere i nostri progetti Xcode in perfetta forma e privi di errori.
Il tool si chiama Faux Pas che è un termine francese per indicare un “piccolo errore” o un “passo falso”.
Faux Pas contiene 99 regole (il numero è destinato a salire) alle quali ogni buon progetto iOS dovrebbe obbedire, partendo da regole come “tutte le stringhe dovrebbero essere inserite con NSLocalizedString” a “tutte le immagini presenti nel progetto dovrebbero avere la controparte retina @2x” o anche regole più specifiche come “ciascun KVO dovrebbe essere rimosso nel dealloc della class” oppure “nella versione release dell’app non dovrebbe essere presente nessun NSLog”
Faux Pas analizza il vostro progetto e segnala quando il vostro codice non obbedisce ad una di queste regole.
È possibile deselezionare alcune regole quando, come dice l’autore, non siamo d’accordo con le premesse alla base. Per esempio io disabilito sempre la regola che ogni classe deve iniziare con un identificativo di 3 lettere. Sono consapevole che è una linea guida di Apple e che tutti i prefissi con due lettere sono riservati per il team di Cupertino ma usare tre lettere mi sembra controproducente e mi ricorda la “Smurf naming convention” con classi che si chiamano SmurfAccountView, SmurfAccountDTO e SmurfAccountController. (Per chi non lo sapesse: gli smurf sono i puffi)
Una regola che invece da sola vale l’acquisto del software è “invalid API”… in pratica vi avvisa quando nel codice utilizzate una API che non è presente nel base SKD. Per esempio state scrivendo la vostra applicazione con Xcode 6, quindi viene compilata con l’sdk di iOS 8, ma volete rendere l’app compatibile anche con iOS 7 quindi mettete base-sdk 7.0. A questo punto utilizzate nell’app il metodo containsString: peccato che Xcode non vi segnali che quel metodo è stato introdotto con iOS 8, quindi quando l’app gira su iOS 7 va in unrecognized selector e crasha.
Questo scenario è molto comune e infatti prima di Faux Pas utilizzavo Deploymate e se siete utilizzatori di AppCode vi trovate questa funzione all’interno della code analysis.
Un’ultima nota interessate riguardo Faux Pas è che è possibile utilizzarlo anche da riga di comando, il che lo rende perfetto per essere integrato all’interno del processo di building con Jenkins o altri CI.
Putroppo il costo non è proprio irrisorio, ma se sviluppate applicazioni iOS per mestiere può farvi risparmiare una lunga serie di stupidi crash e aiuta a mantere il progetto in perfetta forma.
Happy coding!
No Responses to “Rendere perfetto un progetto Xcode con Faux Pas”