Obtenga el identificador de paquete mediante programación


229

¿Cómo puedo obtener una cadena del Identificador de paquete mediante programación desde mi aplicación?

Respuestas:


454

C objetivo

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

Swift 1.2

let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier

Swift 3.0

let bundleIdentifier = Bundle.main.bundleIdentifier

Xamarin.iOS

var bundleIdentifier = NSBundle.MainBundle.BundleIdentifier

10
Esta respuesta no se limita a iOS. Funciona también para aplicaciones Mac.
Jonny

99
En Swift, uselet bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Tim Camber

1
(puedes eliminar este comentario) pero me encanta la sensación de leer la respuesta y luego en el comentario, ver algo como @Jonny sy Tim (aunque puedes ver esto en otra respuesta completa), se vincula a algo más que aún es relevante y útil. Gracias por la gran comunidad chicos.
haxpor

2
Swift3:Bundle.main.bundleIdentifier!
Sebastian Roth


2

Es posible que necesite un enfoque de Core Foundation para obtener el valor. El ejemplo de ARC es el siguiente:

NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
                                                                     (const void *)(@"CFBundleIdentifier"));

2

Para obtener el identificador de paquete mediante programación en Swift 3.0 :

Swift 3.0

let bundle = Bundle.main.bundleIdentifier

0

Utilizo estas macros para hacerlo mucho más corto:

#define BUNDLEID    [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]

#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]

así que puedo comparar así:

if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
    //do this
}

0

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 el último swift Funcionará tanto para aplicaciones iOS como Mac.

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.