2014-04-23 28 views
5

Ho creato una semplice applicazione desktop che voglio vendere tramite AppStore. Certo che voglio essere protetto dalla pirateria. AppStore fornisce protezione? Come funziona quel processo?Devo proteggere la mia app desktop se distribuita su AppStore?

Ad esempio, cosa impedisce a una persona disonesta di acquistare la mia app e poi caricarla su un torrent e condividerla con altri. Se queste altre persone scaricano la mia app, verrà automaticamente richiesto il loro controllo di identità (ID Apple e password), la prima volta che tenteranno di utilizzare la mia app, impedendo loro di utilizzarla se non l'hanno acquistata legalmente.

Se questo controllo di identità non avviene automaticamente, quindi devo aggiungere un codice nella mia app che chiederà il controllo di identità. In tal caso, dove posso trovare informazioni su come farlo?

Non sono del tutto sicuro di come funzioni questo processo. Qualcuno potrebbe far luce su di esso?

risposta

4

Mac App Store invia una ricevuta ogni volta che viene scaricata nel pacchetto. La ricevuta contiene informazioni sul computer utilizzato (il cosiddetto GUID) e l'utente ha effettuato l'accesso all'App Store.

Vedi qui come si dovrebbe convalidare il ricevimento: https://developer.apple.com/library/mac/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573

Se si implementa la convalida GUID come descritto nel documento, l'applicazione non funziona su qualsiasi altro computer.

Controllare anche la firma del codice per assicurarsi che non sia stato manomesso: Verifying app's signature by code

+0

Grazie Mahal. Molto utile. –

+0

@BobUeland se questa risposta ti ha aiutato a risolvere il problema, saresti così gentile ad accettare la risposta? –

2

L'applicazione, se scaricata da App Store, contiene una ricevuta. La ricevuta contiene la prova che è stata scaricata su questo computer dall'App Store e l'ID dell'applicazione. Ci sono istruzioni da qualche parte sul sito Web di Apple che ti dicono come verificare la ricevuta e cosa fare se la verifica fallisce.

Detto questo, è molto meglio concentrarsi sulla scrittura di un'app che le persone in realtà vogliono acquistare. Le persone che piratano la tua app non consegnerebbero denaro se non fosse possibile piratarlo. Ne farebbero a meno, scegliere qualche app gratuita o scegliere un'app diversa che sia possibile pirata.

E sono abbastanza sicuro che qualsiasi protezione di copia che crei nella tua app te la farà scartare dall'App Store.

+0

Grazie per la risposta. Molto apprezzato. Quello che mi sto chiedendo è se una persona compra la mia app su AppStore e poi la carica su un torrent. Se qualcun altro scarica l'app da quel torrent, cosa gli impedisce di eseguire l'app? –

2

Anche se le risposte che ho ottenuto erano utili, hanno fatto non del tutto di fornire la risposta che mi serviva. Guardandomi intorno ho trovato un software chiamato Receigen di Laurent Etiemble, e le FAQ sul suo sito (http://receigen.etiemble.com/faq.html) hanno dato molte risposte per quello che stavo cercando. Ad esempio

Che cos'è una convalida della ricevuta di App Store? Perché è necessario? Fondamentalmente, una ricevuta di App Store è ciò che un'applicazione deve controllare per garantire che la copia sia autentica e possa essere eseguita.

Cosa succede se non controllo la ricevuta dell'App Store? Bene, chiunque abbia una copia della propria applicazione può eseguirlo, con o senza l'autorizzazione appropriata.

La convalida della ricevuta del codice è facile da scrivere? No perché richiede una profonda conoscenza della crittografia e tecniche di codifica sicure.

Non ha danneggiato né il codice generato da Receigen che mi ha liberato dall'affrontare il codice di convalida della ricevuta. Receigen si occupa di questa parte così posso concentrarmi su ciò che è veramente importante per me: la mia applicazione.

Sì, costa denaro ma personalmente sono più che felice di pagarlo, perché trovo questa parte dello sviluppo noiosa, noiosa e complessa.