Cydia 1.1.29 e 1.1.30 sono state rilasciate

Le versioni 1.1.29 e 1.1.30 di Cydia sono state rilasciate ieri sera per tutti gli utenti iPhone, iPad e iPod Touch che hanno effettuato il jailbreak di iOS 10. Inizialmente è stata rilasciata la versione 1.1.29 di Cydia con molte modifiche, quindi è stata fornita la versione 1.1.30 a noi per risolvere un problema dell'aggiornamento precedente.

Nella versione 1.1.29 di Cydia, il creatore di questa applicazione ha risolto alcuni grossi problemi che impedivano l'aggiornamento dei sorgenti di tweaks, plugin e applicazioni. Inoltre, nell'aggiornamento per Cydia, sono stati risolti i problemi riguardanti l'installazione di tutti questi pacchetti negli iDevice con iOS 10 e jailbroken.

Oltre a risolvere i problemi, l'aggiornamento dell'applicazione Cydia migliora notevolmente le prestazioni dell'applicazione, quindi installeremo tutti i pacchetti molto più velocemente. Il miglioramento non è colossale, ma noterai una sostanziale diminuzione del tempo impiegato nell'aggiornamento dei sorgenti e nell'installazione dei pacchetti sui tuoi terminali.

Al momento puoi installare solo la versione 1.1.30 dell'applicazione Cydia, ma contiene tutte le modifiche che abbiamo a disposizione anche nella 1.1.29. L'aggiornamento dell'applicazione Cydia può essere effettuato anche dall'applicazione Cydia installata sui nostri iPhone, iPad e iPod Touch e di seguito puoi vedere tutte le novità che comporta.

Cydia 1.1.29 è una versione ad alte prestazioni


Evita di scaricare traduzioni che 404

Anche se attualmente credo che non ci sia un singolo repository in circolazione che utilizzi questa funzionalità (il che mi rende triste, ma tipo: non è che nemmeno il mio repository lo faccia attualmente :/), Cydia supporta i nomi e le descrizioni dei pacchetti per essere tradotto in diverse lingue.

Come alcuni hanno notato, le nuove build a 64 bit di Cydia facevano tutto questo in modo ancora più "corretto" e provavano a scaricare molti file di traduzione, rendendo gli aggiornamenti più lenti. Come previsto, qualcuno ha detto "perché non rimuovere semplicemente quella funzionalità", il che sembrava una cosa davvero sbagliata da fare :/.

Invece, ho corretto una funzionalità di APT che dovrebbe filtrare il download dei file "opzionali" per funzionare con repository che non hanno l'elenco dei file che normalmente si troverebbero nel file Release (il comportamento in questo caso è non li scarica: se hai un repository di questo tipo e vuoi delle traduzioni, correggi il tuo file Release).

Corretto caricamento del catalogo dei pacchetti

Sapevi che, a differenza di std::vettore o NSMutableArray, quando CFMutableArray dice "capacità" non significa "questo è quanto può essere memorizzato prima dell'allocazione successiva" ma invece "questo è quanto può essere memorizzato in questo array: non diventerà mai più grande"? Beh, non l'ho fatto :(. Apparentemente, nemmeno Microsoft ;P. Mentre lavoravo al numero successivo, ho scoperto questo e sono rimasto piuttosto scioccato.

Questo potrebbe spiegare alcune delle cose più strane che le persone hanno segnalato recentemente durante l'utilizzo di Cydia: casi in cui alcuni pacchetti vengono visualizzati, ma altri no, che nessuno potrebbe replicare e che sembrano scomparire: quando Cydia si avvia senza un catalogo, potrebbe imposta la sua capacità su 16k pacchetti, quindi aumentala di 1024 ad ogni aggiornamento... ma ci sono molte decine di migliaia di pacchetti solo nei repository predefiniti, quindi Cydia potrebbe impiegare del tempo per "riscaldarsi" e vederli tutti loro, dopodiché funzionerebbe :/.

Poi di nuovo, potrebbe non essere così... questo è un comportamento così strano per un array... afferma addirittura che l'aggiunta alla fine di un array con capacità limitata completa si traduce in un "comportamento indefinito". Alcune persone riferiscono che l'array diventa più grande? Onestamente: non l'ho testato, poiché l'ho trovato mentre determinavo che dovevo passare comunque a qualcosa di più simile a std::vettoriale. Penso che sia una curiosità davvero interessante, per quelli di noi che si prendono la briga di leggere le note di rilascio avanzate per una versione di Cydia performance ;P.

Migliorare le prestazioni di ordinamento del catalogo dei pacchetti

Cydia deve affrontare la folle sfida di dover fare localmente sul tuo dispositivo ciò che una soluzione centralizzata, curata e filosoficamente fastidiosa (scuoto il pugno contro di te, Apple!) farebbe su un server: aggiornare un elenco di molte decine di migliaia di pacchetti , ordinando il risultato non solo in ordine alfabetico, ma nel modo sensibile alle impostazioni locali che gli utenti si aspettano.

Ho progettato per Cydia quella che penso sia una soluzione piuttosto epica a questo problema, che prevede l'adattamento dell'ordinamento digitale per funzionare su stringhe utilizzando trasformazioni pazze, eseguendo passaggi multipli seguiti da un ordinamento di inserimento "corretto". È il tipo di algoritmo che dimostra davvero perché tutti gli sviluppatori dovrebbero avere un forte background di algoritmi, poiché un giorno ne avrai bisogno. Parlo di questo algoritmo di ordinamento a classi di informatica a livello universitario; P.

Tuttavia, ha richiesto una certa "calibrazione" nel corso degli anni, e apparentemente non è stato all'altezza della sfida di ordinare il cinese (tradizionale) in "ordine dei tratti"; questo ordinamento era una funzionalità molto richiesta dagli utenti cinesi ed è stata aggiunta a Cydia a partire da iOS 8, ma faceva sì che i passaggi di ordinamento digitale del mio algoritmo richiedessero troppa correzione successiva utilizzando l'ordinamento per inserzione. Ci sono ancora alcuni miglioramenti da apportare qui nel Radix Pass, ma quando ieri è stato segnalato questo problema di prestazioni, avevo una soluzione migliore.

In realtà avevo già progettato l'ordinamento di Cydia in modo che fosse in grado di sfruttare una "cache di ordinamento", riutilizzando i risultati di precedenti esecuzioni di Cydia per avvicinarsi "abbastanza" invece di utilizzare gli ordinamenti radix. Questo, combinato con alcuni miglioramenti algoritmici ai passaggi di ordinamento per inserimento, combinato con lo spostamento di una parte maggiore dell'algoritmo in C++ (mi rammarico profondamente di quanto Objective-C e persino CoreFoundation siano in Cydia...), ha migliorato drasticamente le prestazioni di caricamento di Cydia , almeno per i cinesi.