with uiimagepickercontrollerdelegate how and ios camera

ios - how - uiimagepickercontrollerdelegate swift 4



Controles de cámara personalizados para iPhone(sin usar UIImagePickerController) (4)

Es posible que desee comprobar un classdump de encabezados de marco privado de Apple. Ejecute este script perl:

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

y vaya al directorio de PhotoLibrary en PrivateFrameworks. Algunas de las clases aquí parecen bastante prometedoras para el acceso directo a la cámara.

El uso de la API no documentada podría afectar sus posibilidades de pasar por la tienda de aplicaciones, pero todo es muy subjetivo: si su producto es bueno, Apple probablemente lo deje pasar. Recomiendo hacer amigos con un desarrollador evangelista en Apple.

Aunque entiendo que para que una aplicación de iPhone se acepte en la tienda de aplicaciones, un requisito es que solo se utilicen las bibliotecas documentadas.

Si este es el caso, ¿de qué manera ciertas aplicaciones, como "Cámara nocturna" y "Cámara plus", utilizan un control de cámara que parece ser distinto del contenido en UIImagePickerController?

He oído hablar de ciertos casos en los que un desarrollador recibió acceso "especial" a ciertos encabezados que permiten funciones que de otro modo serían imposibles si se limitara a usar solo bibliotecas documentadas. Sin embargo, dado lo opaco que es el proceso de selección de aplicaciones para la App Store, preferiría mantener lo que se recomienda en lugar de correr el riesgo.

¿Alguien quiere arrojar más luz sobre esto?


La explicación simple es que las aplicaciones en la tienda no deben usar API no compatibles, pero esto no se comprueba constantemente. Las aplicaciones que mencionaste están usando funciones / clases / métodos no compatibles o están jugando con la jerarquía de vistas, que a su vez no está documentada, aunque puede hacerse con API estándar.

Podrías hacer lo que hacen y arriesgarte con eso. Solo se consciente de los riesgos. Su aplicación podría (a) ser rechazada de la tienda, (b) ser aceptada pero más tarde iniciada (esto ha sucedido por el uso API no soportado), (c) ser aceptada y no arrancada, pero romper la próxima vez que Apple tenga una nueva actualización de software de iPhone (ya que las API o jerarquías de vista no compatibles pueden cambiar sin previo aviso). O podrías tener suerte y que nada de esto suceda.


UIImagePickerController es una subclase UIViewController que administra una jerarquía de vistas. Puede jugar con la jerarquía de vistas, como esas aplicaciones, pero es arriesgado teniendo en cuenta que Apple no lo documenta y podría cambiarlo en cualquier actualización de sistema operativo.

No he oído que a nadie se le haya otorgado acceso especial a las bibliotecas, pero he leído que hay una pequeña distinción entre las clases y métodos no documentados y los marcos privados. Las clases indocumentadas son un área gris, pero los marcos privados definitivamente no están permitidos.