Domanda

Come faccio a ottenere una sospensione di un Singleton nel ricorso principale da un plugin SIMBL? Quando provo a chiamare qualcosa come [ProcessControl sharedInstance], ottengo un errore che ProcessControl è indefinito (anche se è dichiarata in un file di intestazione).

È stato utile?

Soluzione

Usa NSClassFromString per cercare la classe in fase di esecuzione, quindi inviarlo il messaggio sharedInstance come normale.

Preparatevi per NSClassFromString a Nil ritorno o per il messaggio alla classe al sicuro. O si accadrà se il rimuove sviluppatori di applicazioni o rinomina la classe o il suo metodo di Singleton. L'utente si assume questo rischio ogni volta che si scrive un plug-in per un'applicazione che non ha un documentato, supportato plug-in API.

Il “plug-in” sarà più robusto se tutto il codice che interagisce con le classi e le istanze della sua applicazione sembra completamente paranoico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top