Come gestire i problemi di versione con Carthage

Nel caso abbiate problemi a compilare o aggiornare un progetto pieno di dipendenze gestite con Chartage e quindi vi dia vari problemi come ad esempio:

Cercando di aggiornare un progetto con Carthage

In questo caso sto utilizzando Swift 4.2 nel progetto ma una dipendenza è stata compilata con Swift 3.3!

Vi basterà (salvo imprevisti del caso) ricompilare anche le dipendenze con la versione di Swift attuale.

carthage update --platform iOS --no-use-binaries

Come cancellare la cache e liberare spazio su Xcode

Se utilizzate Xcode e volete alleggerire il vostro hard disk, o SSD che sia, vi basterà cancellare queste cartelle:

~/Library/Developer/Xcode/DerivedData
~/Library/Developer/Xcode/Archives
~/Library/Developer/Xcode/iOS DeviceSupport
~/Library/Developer/CoreSimulator
~/Library/Caches/com.apple.dt.Xcode
~/Library/Application Support/MobileSync/Backup

Mi raccomando ovviamente di controllare prima che all’interno non ci sia qualcosa che vi necessiti (controllate l’ultima cartella perché è dove dovreste avere i vecchi backup di iTunes).

Come alleggerire CocoaPods

Molti di voi probabilmente li hanno utilizzati o li utilizzano ancora tutt’oggi. Io già un anno fa vi avevo avvisati (l’articolo non è mio, però condivido il pensiero) che CocoaPods avesse qualcosa che non andava.

Beh arrivo al dunque brevemente come al solito e non mi dilungo troppo: se avete utilizzato delle dipendenze nei vostri progetti con CocoaPods e avete problemi di spazio (online c’è anche chi si lamenta d’avere più di 20 GB di file), ecco a voi come alleggerire la cartella dei progetti (nel caso vogliate alleggerire anche Xcode, due anni fa ho scritto come cancellare la cache di Xcode in inglese).

La cartella è nascosta, quindi dovete accedervi da terminale con:

cd ~/.cocoapods/

E cancellatela ovviamente con:

sudo rm -R ~/.cocoapods/

Screenshot di DaisyDisk nel quale mi sono accorto che… lasciamo stare

Nella speranza che usiate altri metodi per le vostre dipendenze (ehm… Carthage), alla prossima!

Cosa fare nel caso Xcode dia Clean failed

Se state progettando qualcosa con Xcode e nella compilazione del progetto diciamo che qualcosa non va come dovrebbe andare, provate a fare Clean (nel menu Product) di solito si risolve tutto, ma se anche in questo caso non succede niente… anzi, vi compare questo:

Clean failed su Xcode

Beh, chiudete perché sta per scoppiar… scherzo, chiudete Xcode e cancellate tutto il contenuto della cartella:

~/Library/Developer/Xcode/

Svuotate il cestino e riavviate. Ora ditemi se è andato, ma penso proprio di sì.

Come convertire un progetto da Swift 3 a 4

Come anche nella conversione da Swift versione 2 a 3, avrete bisogno di una versione specifica di Xcode (la 9.3 attualmente, scaricabile da App Store) per convertire da Swift 3 a 4, non vi sarà possibile passare direttamente dal 2 al 4 se non manualmente riscrivendo da zero la vostra app.

Potrebbe essere che appena aperto il vostro progetto alla versione 3, vi compaia automaticamente questa schermata:

Conversion to Swift 4 is avaliable

Se così non fosse, andate in questo menu:

Convert to current Swift syntax

Confermate Minimize Inference (raccomanded):

Minimize inference (raccomanded)

E nel caso apportate manualmente le modifiche effettuate:

Manual steps necessary

Mi raccomando anche in questo caso, fatevi prima un backup di tutto.

Come convertire un progetto da Swift 2 a 3

Prima di tutto dovete scaricarvi la vecchia versione di Xcode perché quella attuale (la 9.3) non permette di farlo. E per vecchia versione intendo più precisamente la 8.3.3 e non altre ancora più vecchie.

Una volta scaricato chiudete la versione nuova, qualunque essa sia e aprite solo la 8.3.3 e cliccate su:

Edit -> Convert -> To current Swift syntax

Poi confermate che volete convertire la sintassi del vostro progetto alla nuova versione di Swift:

Convert to current Swift syntax

E selezionate i target che volete convertire:

Select targets to convert

Tutto questo perché se avete un progetto con Swift 2, non vi sarà possibile passare direttamente alla versione 4 (o quella attuale in cui starete leggendo questo articolo).

Fate massima attenzione e fatevi un backup prima (meglio ancora se usate git).

Dove scaricare le vecchie versioni di Xcode

Se state cercando di scaricare una vecchia versione di Xcode perché avete bisogno di funzionalità che nella versione attuale sono state rimosse, ma non riuscite proprio a trovarlo… beh, è perché cercate nel posto sbagliato.

Andate qua e loggatevi con il vostro account da Developer (è necessario averne uno) https://developer.apple.com/download/more/ e scaricate la versione che preferite.

Xcode su App Store di macOS

Perché CocoaPods è il male assoluto

Ok, sì lo so, male assoluto è un esagerazione e sopratutto è un opinione e non un dato di fatto.

Non starò qua a spiegarvi il perché o il per come CocoaPods rischia di essere svantaggioso su grandi progetti (anche piccoli in realtà a dire il vero) ma vi rimando a questo articolo di Zalando in cui spiegano come mai l’hanno abbandonato:

https://tech.zalando.com/blog/how-the-zalando-ios-app-abandoned-cocoapods-and-reduced-build-time/

Screenshot preso dall’articolo

Voi cosa ne pensate?

Come dividere una stringa in OBJC

Passo subito a un esempio pratico per farla rapida (ho usato la parentesi come simbolo di split):

NSString * name = @"Mi chiamo Marco (Tini)";
NSArray * parentesi = [name componentsSeparatedByString: @"("];
name = [foo objectAtIndex: 0];

Quindi name conterrà “Mi chiamo Marco “. Semplice no?

 

Come installare e far funzionare l’FTP su Raspberry Pi

Prima di tutto installiamo l’FTP con il comando:

sudo apt-get install vsftpd

Al termine dell’installazione digitiamo il comando:

sudo nano /etc/vsftpd.conf

Cercate e modificate le seguenti linee come segue:

anonymous_enable=YES con anonymous_enable=NO, 
#local_enable=YES con local_enable=YES 
#write_enable=YES con write_enable=YES
e al fondo aggiungete force_dot_files=YES

Poi premete CTRL+X, S e poi invio.

Successivamente riavviate il servizio con il comando:

sudo service vsftpd restart

E date i permessi di scrittura alla cartella www dove sono contenute le pagine web con i seguenti due comandi:

sudo chown -R www-data:www-data /var/www/
sudo chmod 775 /var/www

Ora collegatevi tramite FTP con FileZilla ad esempio inserendo l’indirizzo IP del Raspberry Pi, username pi e password raspberry.

Buon divertimento!