Como fazer pacote de instalação pkg e configuração rpath na plataforma Mac

Introdução às ferramentas de embalagem

  • Os pacotes de especificação da plataforma Mac estão disponíveis usando a ferramenta Pacotes.
  • Link para Download

Preparações antes de embalar

  • Crie um diretório macProject
    • No diretório macProject está a seguinte estrutura de diretórios
    •   myProject.app
        	└── Contents
        		├── Info.plist
        		├── MacOS
        				├── res
        				├── libmymath.dylib
        		├── Frameworks
        		└── Resources
        				├── wolf.icns
      
  • Info.plist : Descreve principalmente a configuração de alguns projetos. Explicação de campos específicos
    palavras-chave tipo ilustrar
    CFBundleExecutável Corda Nome do arquivo de programa executável. Ou seja, o programa executável vinculado ao ícone de inicialização
    CFBundleIconFile Corda Nome do arquivo de ícone
    CFBundleIdentifier Corda Identificador exclusivo do aplicativo
    CFBundleName Corda O nome exibido na interface após a instalação do programa
    LSUIElement boleano Defina como true para definir o aplicativo no modo sem interface do usuário. Isso significa que o aplicativo não mostrará nenhuma janela ou ícone ao iniciar, apenas um pequeno ponto na barra de menu
    LSBackgroundOnly boleano Defina como true para garantir que o aplicativo seja executado em segundo plano e não se torne o aplicativo ativo.
    • O formato do conteúdo do arquivo é o seguinte. Se não houver nenhum requisito especial, os campos a seguir são suficientes.
    •   <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
        <plist version="1.0">
        <dict>
        	<key>CFBundleExecutable</key>
        	<string>res</string>
        	<key>CFBundleIconFile</key>
        	<string>AppIcon</string>
        	<key>CFBundleIdentifier</key>
        	<string>com.csdn.smallgraywolf</string>
        	<key>CFBundleName</key>
        	<string>smallgraywolf</string>
        </dict>
        </plist>
      
      
  • Frameworks : Geralmente, o Framework de terceiros usado por este programa é colocado, como a biblioteca QT
  • MacOS : armazena programas e nossa própria biblioteca dinâmica, a biblioteca dinâmica sob a plataforma mac tem o sufixo dylib
  • Recursos : armazene arquivos de recursos, recursos de ícones podem ser colocados aqui. O formato do recurso de ícone deve estar no formato icns, você pode converter imagens diretamente no formato PNG ou outros formatos para o formato icns na página da web

Pacote

  • Clique duas vezes para abrir Pacotes diretamente no aplicativo para criar um projeto empacotado

    • 1. Selecione Distribution, clique em next e crie um projeto de pacote chamado MyPackage
      insira a descrição da imagem aqui
      insira a descrição da imagem aqui

    • 2. Clique em MeuPacote

      • 2.1, Item de configurações: preencha principalmente o identificador exclusivo do aplicativo Identificador e número da versão Versão
        insira a descrição da imagem aqui

      • 2.2. Item de carga útil: Adicione nosso aplicativo em Aplicativos, que é a pasta myProject.app que acabou de criar
        insira a descrição da imagem aqui

      • 2.3, item Scripts: precisa adicionar dois arquivos pré-instalação (comando shell script executado antes de instalar o programa) e pós-instalação (comando shell script executado após a instalação do programa)

        • Isso é adicionado de acordo com a demanda, se não for necessário, não precisa adicionar
          insira a descrição da imagem aqui
    • 3. Depois que o arquivo for selecionado, clique em construir na barra de menu, um diretório de construção será gerado no mesmo diretório de nível que o arquivo de projeto empacotado e um pacote de instalação pkg será gerado no diretório de construção
      insira a descrição da imagem aqui

      insira a descrição da imagem aqui

    • O pacote de instalação foi produzido com sucesso aqui

  • Basta clicar duas vezes para instalar
    insira a descrição da imagem aqui

  • Após a conclusão da instalação, você pode encontrar nosso aplicativo no aplicativo e clicar duas vezes no ícone para executá-lo
    insira a descrição da imagem aqui

  • Nosso instalador também pode ser encontrado no launchpad
    insira a descrição da imagem aqui

  • Nosso programa será instalado neste diretório /Applications/myProject.app

desinstalar aplicativo

  • Ao desinstalar um aplicativo na plataforma mac, diretamente no aplicativo, clique com o botão direito do mouse no ícone e mova-o para a lixeira
    insira a descrição da imagem aqui

configuração rpath na plataforma Mac

  • Deve-se observar aqui que se o programa que compilamos depende da biblioteca dinâmica, o caminho de carregamento padrão é o nosso caminho de compilação, mas se estiver instalado no computador de outra pessoa, o caminho de compilação não existe, portanto, precisamos modificar o rpath do programa para fazer o programa Carregar a biblioteca dinâmica sob o caminho atual.
  • Queremos definir res para carregar a biblioteca dinâmica no caminho atual. Temos que fazer esse trabalho bem antes de embalar.
  •   install_name_tool -add_rpath @executable_path res
    
  • Introdução à otool
    • O nome completo do comando otool é ferramenta de exibição de arquivo de objeto. É uma ferramenta de exibição de arquivos de objeto, que pode nos ajudar a descobrir quais bibliotecas do sistema são usadas no aplicativo e quais métodos e propriedades de objeto são chamados.
    • otool -L : Veja quais bibliotecas estão vinculadas pelo arquivo de objeto
    • otool -l : exibe informações detalhadas do arquivo de destino
  • Na plataforma mac, o rpath precisa ser definido por meio da ferramenta de linha de comando install_name_tool
    • Adicionar rpath: install_name_tool -add_rpath <caminho de carregamento> <arquivo de destino>
    • Excluir rpath: install_name_tool -delete_rpath <caminho de carregamento> <arquivo de destino>
    • Modifique rpath: install_name_tool -change <caminho de carregamento original> <novo caminho de carregamento> <arquivo de destino>

Instale o Homebrew no Mac

  • Homebrew é um gerenciador de pacotes para MacOS (ou Linux). Por meio dele, podemos gerenciar facilmente vários softwares aplicativos no Mac, como: instalar, atualizar, visualizar, pesquisar, desinstalar etc.
  • Pode ser instalado com o seguinte comando
  •   /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
    

おすすめ

転載: blog.csdn.net/new9232/article/details/131734812