¿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];

Respuestas:


205

Prueba esto:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier

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?

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


Hey, cheque para swift3, quite su cheque negativo
AKS
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.