Ho appena letto questa domanda , ma sono ancora confuso.
Come faccio a sapere se la mia app utilizza chiamate API non documentate prima di inviarle all'app store? Ci sono strumenti che posso usare?
Ho appena letto questa domanda , ma sono ancora confuso.
Come faccio a sapere se la mia app utilizza chiamate API non documentate prima di inviarle all'app store? Ci sono strumenti che posso usare?
I metodi non documentati non sono elencati nelle intestazioni pubbliche. Se stai usando uno di questi metodi, dovrai dichiararli tu stesso in una categoria o non essere più in grado di chiamarli usando un metodo come performSelector:@selector(...)
o attraverso qualche funzione di runtime Objective-C.
In altre parole, è improbabile che tu possa chiamare un metodo non documentato per sbaglio.
L'unica ragione di preoccupazione è se stai usando il codice scritto da qualcun altro e che non hai avuto il tempo di leggere, o se stai forse usando una libreria creata da qualcun altro per il quale non usi " t ho anche il codice sorgente. In tal caso, spetta a te parlare con lo sviluppatore o comunque verificare che il codice in questione non utilizzi metodi non documentati.
Sulla base delle risposte che ho trovato online, non credo che ci sia comunque una notifica dinamica se si sta utilizzando un'API non documentata durante la codifica. Per la maggior parte, si presume che i programmatori saprebbero in anticipo se utilizzano un'API di terze parti che non è documentata / approvata da Apple. Tutte le risposte correlate suggeriscono di utilizzare il passaggio Convalida dopo aver creato un archivio della tua app: link
Il problema non è solo l'utilizzo di un'API non documentata, ma a quanto riferito con l'utilizzo di qualsiasi metodo che assomiglia a un'API non documentata di Apple (che, non essendo documentato pubblicamente, non è possibile per te sapere). Pertanto, per ridurre il rischio di rigetto, assicurati che nessuno dei tuoi metodi non assomigli nemmeno a un metodo o variante di iOS o UIKit o a un'estensione futura.
Se sei davvero preoccupato, puoi scaricare tutti i metodi e i nomi delle classi dal tuo eseguibile compilato, e googlearli tutti per assicurarti che non vengano mostrati da nessuna parte, o su una pagina ufficiale API pubblica di Apple.