2 votos

Cómo crear propia extensión de nombre de archivo?

Quiero tener una extensión, el nombre .contenido, para almacenar todos los archivos que están vinculados al nombre del archivo. La extensión ".contenido" debe ser reconocido por el sistema operativo como una extensión de archivo en lugar de un mapa. Los archivos de la extensión debe ser alcanzada solamente por la apertura de la extensión por la opción "Mostrar Contenido del Paquete". Espero que alguien me puede ofrecer una solución a mi problema.

1voto

Oskar Puntos 1242

OS X incluye un conjunto de extensiones que se asignan a aplicaciones específicas (y la mayoría de estos mapas de Apple siempre apps) por lo que podría petición de Apple para hacer el cambio, pero eso sería raro.

El otro mecanismo para inyectar una específica .extensión de la asignación de Aplicación en la puesta en marcha de los Servicios de base de datos es instalar una Aplicación que cuenta el sistema para asignar ciertos tipos de archivos y extensiones que se concreta la Solicitud.

Así que, para mantener las cosas en el tema aquí vamos a dirigir a Stack Overflow para preguntar cómo hacer su propia Aplicación. Si usted no está buscando a desarrollar una aplicación, también se puede simplemente modificar la aplicación que desea abrir su extensión de archivo personalizado cambiando es interal info.plist archivo:

Lo siento si este nivel de detalle es más técnico de lo que quieras, pero yo quería responder a esta para cualquiera que necesite saber cómo modificar las cosas.

1voto

Fuzzy Purple Monkey Puntos 702

Las carpetas que terminan con .paquete ya actuar de esa manera. Se abren en la Terminal por defecto, aunque.

El tipo de archivo se define en /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist:

<dict>
    <key>UTTypeConformsTo</key>
    <array>
        <string>com.apple.bundle</string>
        <string>com.apple.package</string>
    </array>
    <key>UTTypeDescription</key>
    <string>bundle</string>
    <key>UTTypeIdentifier</key>
    <string>com.apple.generic-bundle</string>
    <key>UTTypeTagSpecification</key>
    <dict>
        <key>com.apple.ostype</key>
        <string>BNDL</string>
        <key>public.filename-extension</key>
        <string>bundle</string>
    </dict>
</dict>

Para hacer las carpetas que terminan con .el contenido de ser tratados como los paquetes, agregar una entrada como esta:

<dict>
    <key>UTTypeConformsTo</key>
    <array>
        <string>com.apple.bundle</string>
        <string>com.apple.package</string>
    </array>
    <key>UTTypeIdentifier</key>
    <string>my.content</string>
    <key>UTTypeTagSpecification</key>
    <dict>
        <key>public.filename-extension</key>
        <string>content</string>
    </dict>
</dict>

Luego reconstruir el Lanzamiento de los Servicios de base de datos para aplicar los cambios:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -domain local -domain system -domain user

También puede agregar esto a una CFBundleDocumentTypes matriz en la Información.plist de cualquier aplicación:

<dict>
    <key>CFBundleTypeExtensions</key>
    <array>
        <string>content</string>
    </array>
    <key>CFBundleTypeRole</key>
    <string>None</string>
    <key>LSTypeIsPackage</key>
    <true/>
</dict>

Para aplicar los cambios, la reconstrucción de los Servicios de Lanzamiento de la base de datos o toque el paquete de la aplicación. Si la solicitud no está firmada, la modificación de la Información.plist invalida la firma de código , aunque.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X