2013-05-07 9 views
21

Alcuni retroscenaQualcuno conosce un modo per aggiungere il diritto all'applicazione iOS per dispositivo non jailbroken?

  • sistema operativo iOS ha un concetto di "diritto". In generale, è un permesso concesso a un'applicazione. Altri servizi e app di sistema possono controllare questa autorizzazione per consentire/negare l'esecuzione di alcune funzionalità.

  • Queste autorizzazioni devono essere specificate in un profilo di provisioning.

  • Le applicazioni di sistema hanno molti diritti diversi.

  • Le applicazioni utente sono limitate a un paio di autorizzazioni (come l'accesso a iCloud o qualcosa di simile che può essere configurato sul portale per sviluppatori).

La domanda è: qualcuno conosce un modo per aggiungere diritti all'applicazione utente per dispositivo NON jailbroken?

L'idea generale è di aggiungere autorizzazioni all'app sviluppata per ottenere più autorizzazioni per l'utilizzo dei servizi di sistema.

Note & Avvertenze

  • so come fare questo per il telefono jailbroken. Tuttavia, non funziona su dispositivi non jailbroken.

  • Sono consapevole che Apple lo rifiuterà. Non andrà ad AppStore.

  • La soluzione non deve essere una soluzione in fase di compilazione (ovvero, un modo per modificare un file). Potrebbe essere una soluzione runtime - un'applicazione che aggiunge in qualche modo diritti a se stessa o all'app di terze parti.

+0

Non sono sicuro se ciò sia possibile in quanto titolarità solo per dispositivi jailbroken! Ti chiedi solo perché vuoi farlo attraverso il diritto se non sta andando su AppStore? Non puoi semplicemente avere flag specifici per il cliente per attivare/disattivare le funzionalità richieste? Ecco come faccio per le nostre App Enterprise. O forse ti sto sbagliando completamente? – applefreak

+0

@ AppleDeveloper: ho aggiornato una domanda, perché c'era qualche ambiguità. Voglio aggiungere autorizzazioni all'app sviluppata per ottenere più autorizzazioni per utilizzare i servizi di sistema. Quindi, non è per accendere/spegnere la nostra funzionalità, ma piuttosto per accedere ad alcune funzionalità del sistema protetto dalle autorizzazioni. –

+0

Interessante! scusate, non posso essere d'aiuto qui oltre a votare. In bocca al lupo. – applefreak

risposta

3

No. Le autorizzazioni sono contenute nella firma del codice dell'applicazione. Cambiarli, ovviamente, interromperà la firma e i dispositivi iOS di serie non eseguiranno il codice con una firma di codice rotta. Quello che chiedi non è possibile.

+0

Esiste un percorso di esecuzione piuttosto lungo tra le autorizzazioni memorizzate in alcuni file e l'effettiva applicazione di tali titolarità. Pertanto, l'impossibilità di modificare un file con la firma non significa che il percorso di esecuzione non possa essere modificato. Potrebbero esserci alcuni flag, apis privati ​​o così via che potrebbero consentire di aggiungere diritti al volo, disabilitare temporaneamente i permessi di autorizzazione e così via. –

+0

Non ho una conoscenza concreta di come farlo.Gli unici meccanismi che mi vengono in mente sono la modifica dei flag statici in .plist o l'esecuzione di alcuni metodi di swizzling per realizzare una modifica di runtime. (http://cocoadev.com/wiki/MethodSwizzling) Nel primo caso è ovvio che la firma del codice viene interrotta. Nel secondo, non vedo modo di aggiungere il codice di swizzling senza rompere la firma. – CuriousRabbit

Problemi correlati