Como fazer um aplicativo como opener padrão para uma extensão de arquivo específica

1

Eu estou fazendo um aplicativo em python chamado cipherc no mac osx 10.9 Este aplicativo abre um tipo de arquivo de extensão “ .seguro "

Agora, no sistema local, por já presente. seguro arquivo, seu arquivo de abertura padrão é algum aplicativo xyz diferente. Então, como posso fazer meu aplicativo cipherc como abridor de arquivos padrão para todos. seguro extensão de arquivo presente no sistema, assim que eu instalar o aplicativo cipherc .

Meu info.plist é:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleDisplayName</key>
    <string>cipherc</string>
    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>****</string>
                <string>fold</string>
                <string>disk</string>
            </array>    
            <key>CFBundleTypeName</key>
            <string>secure</string>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
        </dict>
    </array>
    <key>CFBundleExecutable</key>
    <string>cipherc</string>
    <key>CFBundleIconFile</key>
    <string>cc.icns</string>
    <key>CFBundleIdentifier</key>
    <string>com.cipherc.macapp.cipherc</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>cipherc</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>0.0.0</string>
    <key>LSBackgroundOnly</key>
    <true/>
    <key>LSHasLocalizedDisplayName</key>
    <false/>
    <key>NSAppleScriptEnabled</key>
    <false/>
    <key>NSHumanReadableCopyright</key>
    <string>Copyright not specified</string>
    <key>NSMainNibFile</key>
    <string>MainMenu</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
    <key>PyMainFileNames</key>
    <array>
        <string>__boot__</string>
    </array>
    <key>PyOptions</key>
    <dict>
        <key>alias</key>
        <false/>
        <key>argv_emulation</key>
        <true/>
        <key>emulate_shell_environment</key>
        <false/>
        <key>no_chdir</key>
        <false/>
        <key>prefer_ppc</key>
        <false/>
        <key>site_packages</key>
        <false/>
        <key>use_faulthandler</key>
        <false/>
        <key>use_pythonpath</key>
        <false/>
        <key>verbose</key>
        <false/>
    </dict>
    <key>PyResourcePackages</key>
    <array>
    </array>
    <key>PyRuntimeLocations</key>
    <array>
        <string>@executable_path/../Frameworks/Python.framework/Versions/2.7/Python</string>
        <string>/System/Library/Frameworks/Python.framework/Versions/2.7/Python</string>
    </array>
    <key>PythonInfoDict</key>
    <dict>
        <key>PythonExecutable</key>
        <string>/usr/bin/python</string>
        <key>PythonLongVersion</key>
        <string>2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]</string>
        <key>PythonShortVersion</key>
        <string>2.7</string>
        <key>py2app</key>
        <dict>
            <key>alias</key>
            <false/>
            <key>template</key>
            <string>app</string>
            <key>version</key>
            <string>0.8</string>
        </dict>
    </dict>
</dict>
</plist>
imp
fonte

Respostas:

2

Você tem que fazer isso manualmente, porque o Mavericks não irá alterar o aplicativo padrão automaticamente, se já houver um aplicativo que possa abrir arquivos .secure.

Siga estas instruções e escolha seu script como app.

  1. Encontre um arquivo com uma extensão para a qual você deseja alterar os padrões. Clique com o botão direito do mouse no arquivo para ver um menu e selecione "Get Info".

  2. Aparece uma janela com as informações do arquivo, consulte a seção "Abrir com"

  3. Ele exibirá o aplicativo atual usado para este arquivo, use a caixa suspensa para selecionar seu novo aplicativo. Você tem que usar a seleção "Outro" para procurá-lo.

  4. Clique no botão "Alterar tudo" para aplicar a alteração a todos os arquivos que terminem com a mesma extensão de arquivo.

  5. Isso é tudo.

Christian Woerz
fonte
Eu acho que o OP está perguntando como alterá-lo na instalação não como fazê-lo manualmente para seu próprio computador.
webmarc
Obrigado pela sua resposta. Posso fazer meu aplicativo como abridor de arquivos padrão para uma extensão durante a instalação, com alterações em info.plist, se não houver outro aplicativo presente para esse arquivo. Por favor, veja meu info.plist
imp
@imp ah eu vejo. Verifique esta resposta para ajuda: apple.stackexchange.com/questions/9866/…
Christian Woerz
@ c0dev não está acontecendo. Isso pode ser feito através da configuração de chaves no arquivo info.plist do aplicativo. Isso deve acontecer durante a instalação.
imp
1

Isso é perguntado e respondido no SuperUser . A resposta curta é Edit ~ / Library / Preferences / com.apple.LaunchServices.plist. Para a resposta longa, clique no link :-)

webmarc
fonte
Obrigado pela sua resposta. Posso fazer meu aplicativo como abridor de arquivos padrão para uma extensão durante a instalação, com alterações em info.plist, se não houver outro aplicativo presente para esse arquivo. Por favor, veja meu info.plist.
imp
Pode ser feito com a configuração de chaves em info.plist.
imp