Dapatkan Bundle Identifier secara terprogram


229

Bagaimana saya bisa mendapatkan string Identifier Bundle secara terprogram dari dalam Aplikasi saya?

Jawaban:


454

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

10
Jawaban ini tidak terbatas pada iOS. Ini juga berfungsi untuk aplikasi Mac.
Jonny

9
Di Swift, gunakanlet bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Tim Camber

1
(Anda dapat menghapus komentar ini) tetapi saya suka perasaan membaca jawaban kemudian di komentar, lihat sesuatu seperti @Jonny s dan Tim (meskipun Anda dapat melihat ini di seluruh jawaban lain), itu tautan ke sesuatu yang lain yang masih relevan dan berguna. Terima kasih untuk kawan-kawan komunitas yang hebat.
haxpor

2
Swift3:Bundle.main.bundleIdentifier!
Sebastian Roth


2

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"));

2

Untuk mendapatkan pengenal bundel secara terprogram di Swift 3.0 :

Swift 3.0

let bundle = Bundle.main.bundleIdentifier

0

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
}

0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.