2009-10-19 21 views
27

Sto lavorando a un'applicazione aziendale per iPhone per un cliente, il problema è che le informazioni sui clienti verranno visualizzate sul telefono. Il mio cliente è preoccupato che le informazioni possano essere catturate utilizzando la funzione di cattura dello schermo di iPhone (home + pulsante di accensione), quindi inviate via e-mail o sincronizzate dal telefono. C'è un modo per disabilitare la funzione di cattura dello schermo? Questo può essere fatto a livello di programmazione o è possibile attraverso un profilo di configurazione?Disattivazione della funzionalità di screenshot di iPhone

+1

Cosa farai delle telecamere degli utenti? –

+10

sei preoccupato che l'utente possa scattare una foto dello schermo con un altro telefono o scrivere le informazioni con una matita? –

+0

C'è ancora più di cui preoccuparsi: http://www.wired.com/gadgetlab/2008/09/hacker-describe/ –

risposta

6

Dato che si tratta di un'applicazione aziendale, è possibile inserire una vista di sovrapposizione trasparente in cima a tutto, che in un drawRect diventa opaco quando viene rilevato che al livello è stato chiesto di eseguire il rendering per una schermata (magari guardando indietro il stack trace?)

Si potrebbe provare a impostare i punti di debug in ogni vista possibile e i metodi di disegno del livello, e vedere se qualcosa è attivato da uno screenshot.

+0

drawRect non è stato attivato dallo screenshot, ma è stata una buona idea. – Hafthor

0

No, non c'è. L'utente è sempre in grado di eseguire questa funzione.

10

se il cliente può mantenere la proprietà di un telefono, possono limitare la funzione Cattura schermo utilizzando iPhone Configuration Utility. Assicurati di non dare questi telefoni a nessuno al di fuori di questa organizzazione, altrimenti stai violando il tuo accordo legale con Apple.

4

L'acquisizione schermo può essere abilitata/disabilitata per iPad/iPhone gestiti tramite l'utilità di configurazione iPhone OS. Vedere pagina 33 a http://manuals.info.apple.com/en_US/Enterprise_Deployment_Guide.pdf in cui si dice:

** Consenti cattura dello schermo: Quando questa opzione è disattivata, gli utenti sono in grado di salvare una screenshot del display *

In altre parole, in implementazioni enterprise. dove il "cliente" possiede l'iPad (o richiede che i dispositivi di proprietà dei dipendenti siano configurati dall'IT), l'acquisizione dello schermo può essere soppressa a livello di dispositivo.

È anche possibile rilevare se la cattura dello schermo è avvenuta e registrarla (quindi forse un manager può pagare una visita amichevole).

È non possibile per sopprimere l'acquisizione dello schermo sotto il controllo del programma. Apple preferisce esercitare uno stretto controllo e, a malincuore, cede un po 'alle imprese. Non rende molto agli sviluppatori. (Come ti piace essere un mezzadro nelle piantagioni di Apple?)

Seriamente, ci sono buone ragioni per controllare l'acquisizione dello schermo. Nel settore dell'istruzione, vorremmo utilizzare gli iPad come dispositivi di test sicuri. In un ambiente di test controllato, il Proctor può assicurarsi che uno studente non disponga di una fotocamera o di cartoline per portare via le domande del test. Pertanto il principale rischio rimanente per testare la sicurezza degli oggetti è l'acquisizione dello schermo. Se non si riusciva a sopprimerlo, gli studenti potevano scattare velocemente tutte le domande di test che incontravano e inviarle tramite e-mail ai propri amici (o pubblicarle online o venderle a una società di preparazione dei test).

Per gli iPad di consumo casuali utilizzati in condizioni non controllate, gli sviluppatori non dispongono di questa funzionalità. Sono le pause :-).

0

Sì, è possibile farlo in almeno due modi. Internet Testing Systems (ITS) di Baltimora ha un'app per iPad test nel negozio, interessante è "PEARSON NNAT2 -Stanford 10 - OLSATS", un'app Pearson che può essere utilizzata per sostenere uno di questi tre test. vedi https://itunes.apple.com/us/app/pearson-nnat2-stanford10-olsat8/id546817211?mt=8 - è gratuito e puoi scaricarlo.

Se si richiede semplicemente all'utente di mettere il dispositivo in modalità Accesso guidato dopo aver avviato l'app e prima di procedere, utilizzando UIAccessibilityIsGuidedAccessEnabled(), è possibile impedire all'utente di utilizzare "print screen" - OPPURE passare a qualsiasi altro compito. Examsoft è un fornitore che utilizza questo approccio.

Queste funzionalità sono generalmente utili per testare gli editori e i fornitori di servizi di valutazione; Ho un post sul blog e schermate l'approccio ITS, e il codice per emulare l'approccio Examsoft, qui: http://mindstormtools.com/2013/02/23/ipads-for-assessment-test-delivery-profile/ e http://mindstormtools.com/2013/02/20/ipads-for-assessment-guided-access/

Problemi correlati