Instalación de controladores antes de instalar la aplicación Mac: rechazada por el equipo de revisión de Apple

Desarrollé una aplicación de escritorio para Mac y necesito que nuestros usuarios instalen algunos controladores para ejecutar nuestra aplicación en OS X.

Debido a la restricción de la zona de pruebas, no puedo obtener el permiso de acceso del usuario para instalar los controladores dentro de /Users/System Name/Library/la carpeta. (es decir,) le pedirá permiso al usuario para instalar los controladores desde un único instalador de paquetes de Mac para instalar los controladores antes de acceder a la aplicación Mac.

Además, no puedo agrupar controladores en un solo paquete para instalar los controladores y la aplicación Mac debido a las limitaciones de Sandbox. Así que tendré que separar la instalación del controlador y la instalación de la aplicación Mac como un proceso de dos pasos.

He enviado la aplicación al equipo de revisión de Apple con las instrucciones para instalar los controladores y luego instalar la aplicación Mac para realizar la funcionalidad deseada. He detallado el video para realizar los pasos también. Pero el equipo de revisión ha rechazado por la siguiente razón:

Razones:

2.3: Se rechazarán las aplicaciones que no funcionen como anuncia el desarrollador

Le escribimos para informarle que la Junta de revisión de aplicaciones completó la revisión de su apelación y determinó que esta versión de su aplicación infringe la Pauta 2.3. Hemos determinado que su aplicación requiere que el usuario descargue e instale software adicional para que la aplicación funcione como se anuncia. Las aplicaciones no deben requerir que el usuario instale software adicional para que la aplicación funcione. Continuaremos revisando su aplicación con esto en mente.

Entendí que los usuarios no deben instalar software adicional para que la aplicación funcione, pero deben conocer las posibles formas de enviar la aplicación en la tienda Mac para aprovechar los beneficios de la tienda Mac en lugar de lanzarla fuera de la Mac App Store. Su valiosa sugerencia sería útil para realizar cambios en el diseño de esta solución.

Actualizar:

Aquí está el diseño y el flujo técnico de mi aplicación Mac:

  1. El producto se usa realmente para almacenar los documentos en el servidor y usaría los documentos para el almacenamiento y la impresión en la nube. Tengo dos opciones para enviar los documentos a la nube:

a) Los usuarios pueden hacer clic derecho en cualquier documento, pasarlo a la aplicación Mac para enviar el documento al servidor en la nube.

b) Tengo otra opción que es enviar los documentos desde la opción de impresión (ctrl+P), convertiría los documentos a formato genérico para que los servidores en la nube los entiendan. Esta función aportaría más valor a los usuarios y también quiero mantener este enfoque. El usuario puede pasar cualquier documento a través de la función de impresión de documentos y los archivos del controlador Mac y algunos otros archivos de soporte se comunicarán con la aplicación Mac para su posterior procesamiento.

  1. La aplicación Mac mostrará la lista de archivos cargados/estado de cada documento.

¿Por qué necesita los controladores en primer lugar?

ANS: Los archivos de controlador tienen una gran funcionalidad en el manejo de los formatos de documentos que ayudarían en la nube, por lo que debo tener archivos de controlador en mi arquitectura y en función de los requisitos de mi negocio.

¿No puede integrar esa funcionalidad directamente en su aplicación? y qué tipo de investigación ya ha realizado sobre el tema de la agrupación de controladores de dispositivos con las descargas de la App Store (además de esta publicación, por supuesto).

ANS: Sí, he intentado integrar los archivos del controlador en la propia aplicación, también he presionado para instalar en la carpeta /Users/System Name/Library/Printers/ y el diseño funciona bien sin sanboxing. Después de habilitar Sanboxing, no realiza ninguna verificación de permisos de usuario ni actualizaciones a nivel del sistema porque obtendrá permisos de usuario para instalar controladores para enumerar las opciones de impresión de documentos.

También intenté dividir la instalación del controlador como una aplicación separada y la aplicación Mac real como otra aplicación, por lo que el equipo de revisión rechazó la aplicación por los motivos mencionados anteriormente.

¿Por qué necesita los controladores en primer lugar? ¿No puede integrar esa funcionalidad directamente en su aplicación? También sería bueno saber qué tipo de aplicación estamos viendo aquí y qué tipo de investigación ya ha realizado sobre el tema de la agrupación de controladores de dispositivos con las descargas de la App Store (además de esta publicación, por supuesto).
@patrix Consulte la sección actualizada para sus preguntas para obtener más información. Sería bueno si obtengo algunas pistas.
Ehy, ¿no puede cargar los controladores como paquetes en la aplicación? ¿Por qué deben ser ejecutables separados?
@Mark Gracias por la respuesta. Sí, podemos agrupar los controladores con la aplicación. Pero necesitamos instalar los controladores (controladores de impresión) colocándolos en esta carpeta (/Usuarios/Nombre del sistema/Biblioteca/Impresoras/). No puedo hacer lo anterior debido a las limitaciones de la zona de pruebas. He mencionado este problema en mi publicación.
¿Por qué no poner los controladores en la nube, es decir, cerca de la impresora?
Los controladores @Mark deben instalarse en la máquina local de los usuarios en esta carpeta (/Usuarios/Nombre del sistema/Biblioteca/Impresoras/) para aprovechar las funciones y hacer que la aplicación funcione.
Nunca lo aprobará, tendrá que pensar en otro método
@ Mark Me gustaría saber si hay otras formas de proceder.
Sin volver a codificar la aplicación para que cumpla con las pautas de Apple, tendrá que depender de vender su aplicación fuera del MAS. Simple y llanamente me temo. No hay forma de evitar las pautas de Apple. Eres el desarrollador. Conoces el código base y los requisitos. No hay escapatoria. O nos está pidiendo que le proporcionemos una forma de eludir la política de Apple o que le digamos cómo codificar su aplicación.
@cksum, ¿puedes publicar tu último comentario como respuesta?
@patrix hecho. Desarrollé un poco. Odio dar respuestas sin salida, pero...
Eliminé la etiqueta de cacao porque no somos un recurso de nivel de código. Permitimos que iTunes se conecte y, en la medida en que se trata técnicamente de cómo funciona el sandboxing y cómo Apple ejecuta el programa de desarrollo en términos de reglas/procedimientos, espero que haya espacio para mantener esto aquí.

Respuestas (1)

Sin recodificar la aplicación que cumple con las pautas de Apple, tendrá que depender de vender su software fuera del MAS. Simple y llanamente me temo.

No hay forma de evitar las pautas de Apple. Están escritos por una razón; para proteger a los usuarios de aplicaciones que instalen componentes maliciosos o componentes que puedan dañar sus sistemas, para promover una experiencia de usuario excepcional. Hacer que su aplicación despliegue los controladores no es una solución ideal y yo no instalaría tal aplicación. Arregle con el conjunto de controladores existente o encuentre una solución alternativa que no rompa su programa.

Eres el desarrollador. Conoces el código base y los requisitos como desarrollador de Mac. No hay escapatoria. O nos está pidiendo que le proporcionemos una forma de eludir la política de Apple o que le digamos cómo codificar su aplicación. En ambos casos, queda fuera del alcance de lo que hacemos aquí.