¿Obtener el identificador de paquete mediante programación en Swift?

92

¿Cómo puedo obtener el ID del paquete en Swift?

Versión Objective-C:

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Usuario
fuente

Respuestas:

205

Prueba esto:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier
Sebastián
fuente
20
¿Sabes por qué bundleIdentifieres opcional? ¿En que casos puede ser nil?
Alexander - Reincorpora a Monica el
A veces no se trata de en qué casos podría ser nulo cuando alcance el desarrollo de alto nivel, sino de qué casos podría ser nulo bajo el capó.
Sethmr
2
@Alexander cuando no es el paquete principal, o CFBundleIdentifierfalta
ArtFeel
5

Es prácticamente lo mismo en Swift, excepto que los nombres de clases y métodos se han abreviado:

let bundleIdentifier = Bundle.main.bundleIdentifier // return type is String?

fuente
4

Si está intentando obtenerlo mediante programación, puede usar la siguiente línea de código:

C objetivo:

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Actualizado para la última versión rápida Funcionará tanto para aplicaciones iOS como Mac.

Para obtener más información, consulte aquí:

Documentos de Apple: https://developer.apple.com/documentation/foundation/bundle#//apple_ref/occ/instm/NSBundle/bundleIdentifier

Aks
fuente
Hey, cheque para swift3, quite su cheque negativo
AKS