Controlli personalizzati della fotocamera dell'iPhone (senza utilizzare UIImagePickerController)

StackOverflow https://stackoverflow.com/questions/561868

  •  05-09-2019
  •  | 
  •  

Domanda

Anche se capisco che affinché un'applicazione per iPhone venga accettata sull'App Store, un requisito è che vengano utilizzate solo librerie documentate.

Se questo è il caso, come fanno alcune applicazioni come "Night Camera" e "Camera Plus" a utilizzare un controllo della fotocamera che sembra essere qualcosa di diverso da quello contenuto in UIImagePickerController?

Ho sentito di alcuni casi in cui a uno sviluppatore è stato concesso un accesso "speciale" a determinate intestazioni che consentono funzionalità che altrimenti sarebbero impossibili se costrette a utilizzare solo librerie documentate.Tuttavia, data la trasparenza del processo di selezione delle applicazioni per l'App Store, preferirei attenermi a ciò che è consigliato piuttosto che correre rischi.

Qualcuno ha voglia di fare più luce su questo?

È stato utile?

Soluzione

Potresti voler controllare un classdump delle intestazioni del framework privato di Apple.Esegui questo script Perl:

http://arstechnica.com/apple/news/2008/11/dumping-the-iphone-2-2-frameworks.ars

e vai alla directory PhotoLibrary in PrivateFrameworks.Alcune delle classi qui sembrano piuttosto promettenti per l'accesso diretto alla telecamera.

L'uso dell'API non documentata potrebbe ridurre le tue possibilità di passare attraverso l'app store, ma è tutto molto soggettivo: se il tuo prodotto è buono, Apple probabilmente lo lascerà passare.Consiglierei di fare amicizia con uno sviluppatore evangelista di Apple.

Altri suggerimenti

L'UIImagePickerController è una sottoclasse UIViewController che gestisce una gerarchia vista. Siete liberi di giocare con la gerarchia vista, in quanto tali applicazioni sono, ma è rischiosa considerando che Apple non documenta e potrebbe cambiare su qualsiasi aggiornamento del sistema operativo.

Non ho mai sentito di nessuno che è dato accesso speciale alle biblioteche, ma ho letto che c'è una distinzione minore tra le classi e metodi senza documenti e quadri private. classi irregolari sono una zona grigia, ma strutture private non sono assolutamente ammessi.

La spiegazione più semplice è che le applicazioni nel negozio non sono tenuti a utilizzare le API non supportati, ma questo non viene controllato costantemente. Le applicazioni che hai menzionato sono o non supportati utilizzando funzioni / classi / metodi oppure stanno giocando con la hierarchy-- vista, che è a sua volta senza documenti anche se può essere fatto con le API standard.

Si potrebbe fare quello che fanno, e prendere le sue possibilità con esso. Basta essere consapevoli dei rischi. La vostra applicazione potrebbe (a) essere respinta dal negozio, (b) essere accettato ma poi avviato (questo è successo per l'utilizzo di API non supportato), (c) essere accettate e non avviato, ma rompere la prossima volta che Apple ha un nuovo aggiornamento software iPhone (dal momento che le API o visualizzare le gerarchie non supportato può cambiare senza preavviso). Oppure si potrebbe ottenere fortunati e hanno niente di tutto questo accada.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top