2012-01-04 11 views
23

Para aquellos que distribuyen aplicaciones de Mac fuera de la Mac App Store, ¿cómo piensas apoyar la actualización y la zona de pruebas? Supongo que las respuestas de la mayoría de la gente por el momento es que no lo son, pero espero que eventualmente las aplicaciones que no son MAS se puedan poner en la arena como las aplicaciones MAS.¿Se puede actualizar una aplicación de Mac con sandbox usando Sparkle o algo similar?

Para usar Sparkle, su aplicación necesitaría acceso a la red, lo que podría otorgarse, así como la capacidad de sobrescribirse en las aplicaciones. Actualmente puede hacer esto con el derecho com.apple.security.temporary-exception.files.absolute-path.read-write, pero esa no es una buena solución. Es probable que desaparezca, e incluso si no es así, no tiene sentido en sandboxing una aplicación si vas a darle acceso completo de lectura y escritura al sistema de archivos, así como acceso a la red.

¿Alguien ya ha pasado por este camino y ha encontrado una buena solución? Pregunto porque trato de mantener mi compilación MAS y mi compilación que no sea MAS lo más idéntica posible, y actualmente estoy buscando que mi MAS sea compilada en modo de espacio aislado y que mi compilación no MAS no lo haga.

+1

¡Uno de los muchos desarrolladores de dolores de cabeza relacionados con sandbox está teniendo! – sbooth

Respuesta

4

En una conversación iniciada por @chockenberry on twitter, @andy_matuschak responded favorablemente para crear un servicio XPC para Sparkle.

Tengo un pull request open on GitHub que realmente crea el servicio XPC. Con suerte, esto se incorporará a Sparkle pronto.

+0

Mi respuesta anterior incluía una recomendación para crear una excepción temporal, pero eso no funcionaría en sandboxing. – wbyoung

+0

¿Cómo es el estado de esto ahora? ¿Están más cerca de hacer que Sparkle sea totalmente compatible con sandbox? ¿Pudieron solucionar todos los problemas de seguridad de Andy (en esa discusión en GitHub)? Gracias. –

+2

Aún no está en Sparkle. Estamos enviando la Mac App Store solo ahora, por lo que no estaremos trabajando en ello. Sin embargo, puedes continuar con esa solicitud de extracción. – wbyoung

1

Actualmente tenemos dos versiones de nuestra aplicación: una para nuestro sitio web y otra para la tienda de aplicaciones.

Recomiendo usar el enfoque de Sam Deane que puede encontrar en his GitHub repository. Funciona bien para nosotros

+0

Me han dado más crédito de lo que merezco por esa versión; la mayoría solo reuní un poco el trabajo hecho por otros. –

+0

La sucursal que desea es https://github.com/samdeane/Sparkle/tree/sandboxing. –

+0

fwiw, el crédito debería ir a Whitney Young y Erik Aderstedt, creo. –

0

Not yet.

A partir de 1.15 Sparkle no es compatible con sandboxing, y the patch que está flotando tiene una vulnerabilidad que permite omitir por completo la seguridad de la zona de pruebas.

Cuestiones relacionadas