2010-07-06 10 views

risposta

44

Mentre nessuno di noi ha accesso al processo di revisione interna (che sembra essere in continua evoluzione), ci sono alcune cose che possono essere dette sulla base delle risposte che le persone hanno ricevuto.

In primo luogo, Apple non ha accesso al codice sorgente, in modo da non rivedere quella. Si invia un binario come parte di un pacchetto di applicazioni, insieme alle altre risorse dell'applicazione.

Essi, tuttavia, sembra che la scansione binaria della vostra domanda di certi simboli che indicano l'uso di API private. Un certo numero di applicazioni si è arrestato in modo anomalo dopo l'aggiornamento degli aggiornamenti del sistema operativo perché hanno utilizzato queste API private, quindi Apple ha lavorato duramente.

Ci sono un sacco di applicazioni sul negozio che hanno perdite di memoria o altri problemi di prestazioni. So che ho presentato versioni delle mie applicazioni che presentavano falle sottili (da quelle fisse) e non ho avuto problemi con la revisione. Pertanto, non sembra che facciano alcun tipo di test delle prestazioni o di profilazione.

L'unico punto in cui una perdita di memoria causa un problema durante la revisione è quando la perdita di memoria diventa così grave che l'applicazione si arresta in modo anomalo quando il revisore la sta testando. Se l'applicazione si arresta in modo anomalo in qualsiasi momento durante il processo di revisione, verrà respinta.

Oltre a ciò, hanno una lista di controllo degli elementi dell'interfaccia utente che controllano per un uso corretto di (nessuna selezione persistente su righe di visualizzazione tabella, ecc.). Se la tua applicazione si discosta in modo significativo dal Human Interface Guidelines quando si utilizzano questi elementi dell'interfaccia utente standard, è possibile ottenere respinto.

Apple è molto attenta al copyright, in particolare con le proprie immagini e illustrazioni, quindi potresti incorrere in problemi se utilizzi materiale protetto da copyright.

La maggior parte dei motivi di rigetto che si dovranno affrontare sono prevenibili, rendendo l'applicazione stabile e seguendo le linee guida della piattaforma, ma alcuni non lo sono. Alcune classi di applicazioni sono state rifiutate a causa della loro destinazione d'uso, e ancora una volta le classi di applicazioni ammesse nello store cambiano regolarmente. Questo può aggiungere frustrazione e incertezza quando si ha a che fare con App Store, ma la stragrande maggioranza dei tipi di applicazioni non avrà mai problemi (come si può vedere nella diversità delle applicazioni attualmente disponibili).

+0

Great answer.thanks – jarryd

+0

Questo è sbagliato. Apple ha accesso al tuo codice sorgente: quando invii l'app, l'utilizzo dell'API viene analizzato sulla tua macchina dagli strumenti di sviluppo di Apple e inviato ad Apple prima che l'app sia presentata. – MacMark

+3

@MacMark - No, non lo fanno, e non è quello che succede. Costruisci un file binario sul tuo computer e inviali solo quel file binario. I binari compilati da Objective-C possono contenere simboli all'interno di essi per i metodi che chiamano, quindi questi possono essere scaricati e scansionati. Inoltre, è possibile che Apple possa eseguire il tuo binario all'interno dei propri framework appositamente costruiti e vedere quando quel binario richiama le cose che non dovrebbe. Considerando le segnalazioni di falsi positivi da parte di persone con metodi che corrispondevano a quelli privati ​​di Apple, l'approccio di scansione dei simboli è il più probabile. –

1

No, hanno solo accesso al codice binario che gli hai inviato.

Essi possono eseguire questo tramite profiler controllando perdite di memoria e simili.

1

Non hanno accesso alla vostra fonte; non fa parte di ciò che tu mandi a loro. Testano il file binario che li mandi per perdite e così via. Penso che controllino anche quali dati invia la tua app per assicurarsi che non stia facendo nulla di male (invio di password o simili).

2

A Apple non interessano le fughe e le informazioni di profilazione per l'app. Il sistema operativo è in grado di uccidere la tua app se ti sfugge di mano. Quello che fanno in realtà è eseguire manualmente la tua app e verificare se segue alcune linee guida di mele. In un processo automatizzato estraggono simboli, selettori e stringhe dal tuo binario e controllano quelli per l'utilizzo di API private.

Si potrebbe provare a provare nm -u sul proprio (simulatore) binario.

4

tenta di utilizzare otool -L binario te stesso e si può vedere immediatamente se un quadro API private sono abituato ...

0

Essi ricevono solo solo il file binray di IPA. Possono ottenere alcuni dei tuoi file di risorse mentre estraggono ipa. Possono sapere quali sono tutti gli URL utilizzati nel servizio web o nella richiesta di URL. Nient'altro oltre a questo.

Problemi correlati