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
-
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
-
2.2. Item de carga útil: Adicione nosso aplicativo em Aplicativos, que é a pasta myProject.app que acabou de criar
-
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
- Isso é adicionado de acordo com a demanda, se não for necessário, não precisa adicionar
-
-
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
-
O pacote de instalação foi produzido com sucesso aqui
-
-
Basta clicar duas vezes para instalar
-
Após a conclusão da instalação, você pode encontrar nosso aplicativo no aplicativo e clicar duas vezes no ícone para executá-lo
-
Nosso instalador também pode ser encontrado no launchpad
-
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
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)"