Estou tentando obter acesso ao NSBundle principal para recuperar informações de versão e compilação. O fato é que eu quero tentar rapidamente, eu sei como recuperá-lo em Objective-C com Build.text = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
. Ainda não sei por onde começar com swift, tentei escrevê-lo na nova sintaxe sem sucesso.
91
Respostas:
O que havia de errado com a sintaxe do Swift? Isso parece funcionar:
fonte
let
mas de outra forma parece correto.let text = NSBundle.mainBundle().infoDictionary["CFBundleVersion"]! as String
Versão Swift 3/4
Versão Swift 2.x
como visto aqui .
fonte
Para a versão final do Xcode 6, use
O "?" caractere após infoDictionary é importante aqui
fonte
Aqui está uma maneira simples de obter o Build e a versão.
Para Swift 4.X
Para Objetivo C
Deixe-me saber se houver algum problema. Isso está funcionando para mim.
fonte
Caminho rápido para
AppName
,AppVersion
eBuildNumber
...fonte
Bundle.main
tinha um vazioinfoDictionary
para mim; talvez porque estou fazendo isso de dentro de uma estrutura, não de um executável ou aplicativo?Bundle(for: MyClass.self)
contém os valores esperados.Em resumo, eu faria isso como uma extensão para UIApplication, assim:
Em seguida, você pode usar o seguinte para obter tudo o que precisa:
fonte
// Retorna o número da versão do aplicativo
// Retorna o número da compilação do aplicativo
fonte
Swift 5.0
Eu criei um wrapper para Swift 5 para obter algumas strings relacionadas ao aplicativo em um lugar em todos os meus aplicativos, chamado AppInfo .
Você pode usá-lo assim:
fonte
CFBundleDisplayName
Este código funciona para Swift 3, Xcode 8:
fonte
Para Swift 3, Substitua NSBundle por Bundle e mainBundle é substituído simplesmente por main.
fonte
[Atualização: Xcode 6.3.1] Tentei todos os itens acima e nenhum deles funciona no Xcode 6.3.1, mas descobri que:
fonte
Outra opção é definir no AppDelegate as variáveis:
que podem ser referenciados como variáveis no AppDelegate
fonte
Swift 3:
fonte
Versão SWIFT 3
fonte
Para ter resultado para a estrutura, você pode usar
ou em testes
fonte