sitio sierra puede proviene programas porque permitir origen mac instalar identificados identificado identidad high desconocido descargadas desarrolladores desarrollador cualquier crackeados confirmar como aplicaciones aplicacion abrir macos cocoa drag-and-drop sandbox appstore-sandbox

macos - puede - permitir aplicaciones descargadas de cualquier sitio mac high sierra



¿Impedir que los archivos originales del contenedor de la caja de arena de la aplicación OS X se modifiquen a través de arrastrar y soltar o compartir extensiones? (1)

Crear un marcador de la NSURL.

Por lo tanto, el usuario aún puede cambiar el nombre, mover y eliminar el archivo, pero usted lo nota y conoce la nueva ubicación y el nombre, y aún puede acceder al archivo. Debería funcionar incluso si está fuera de tu caja de arena. Así que puedes manejar esto. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/

Ese es uno de los beneficios de trabajar con NSURL y no con una cadena de ruta simple.

Tengo una aplicación OS X tipo shoebox (a diferencia de la basada en documentos) que almacena imágenes en el contenedor de la caja de arena de la aplicación.

Estas imágenes se pueden compartir a través de Share Extensions (en forma de un NSURL) o exportadas mediante arrastrar y soltar.

Cuando una imagen se comparte con un editor de imágenes (por ejemplo, Acorn ofrece una Extensión compartida), o se coloca en un editor de imágenes, el editor de imágenes abre el archivo desde mi contenedor de sandbox y ahora puede modificar, cambiar el nombre o eliminar este archivo , lo que puede llevar a todo tipo de inconstancias en mi aplicación.

Primero, me sorprendió, porque pensé, a los archivos de la caja de arena solo se puede acceder con la aplicación. Pero parece que este no es el caso, cuando comparto intencionalmente el NSURL.

Entonces, ¿cómo puedo evitar que alguien pueda alterar los archivos en mi contenedor de sandbox sin dejar de ofrecerlos para arrastrar y soltar y compartir extensiones?

  • Intenté no compartir NSURL sino NSImages, pero muchas Extensiones de Compartir no funcionan con NSImages, por lo que esta no es una buena opción.
  • ¿Es una posibilidad de proteger contra escritura los archivos en la caja de arena?
  • ¿Debo hacer siempre una copia de una imagen en una ubicación temporal, antes de ofrecerla para compartir o arrastrar y soltar (podría ser lenta para imágenes grandes)?

Me complace escuchar sus sugerencias u obtener más información sobre el problema.