with google ios cocoa-touch

ios - google - login facebook swift 3



Obtener el identificador de paquete programáticamente (6)

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


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


Es posible que necesite el 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"));


Para obtener el identificador de paquete programáticamente en Swift 3.0 :

Swift 3.0

let bundle = Bundle.main.bundleIdentifier


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:

vamos bundleIdentifier = Bundle.main.bundleIdentifier

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


Yo uso 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 }