Bagaimana saya bisa mendapatkan string Identifier Bundle secara terprogram dari dalam Aplikasi saya?
Bagaimana saya bisa mendapatkan string Identifier Bundle secara terprogram dari dalam Aplikasi saya?
Jawaban:
Objektif-C
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Cepat 1.2
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Swift 3.0
let bundleIdentifier = Bundle.main.bundleIdentifier
Xamarin.iOS
var bundleIdentifier = NSBundle.MainBundle.BundleIdentifier
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Bundle.main.bundleIdentifier!
[[NSBundle mainBundle] bundleIdentifier];
( dokumentasi )
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Anda mungkin perlu pendekatan Core Foundation untuk mendapatkan nilai. Contoh ARC adalah sebagai berikut:
NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
(const void *)(@"CFBundleIdentifier"));
Saya menggunakan makro ini untuk membuatnya lebih pendek:
#define BUNDLEID [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]
#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]
jadi saya bisa membandingkan seperti ini:
if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
//do this
}
Jika Anda mencoba mendapatkannya secara terprogram, Anda dapat menggunakan kode di bawah ini:
Tujuan-C:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 3.0:
let bundleIdentifier = Bundle.main.bundleIdentifier
Diperbarui untuk swift terbaru Ini akan berfungsi untuk aplikasi iOS dan Mac.