Dapatkan pengenal paket secara terprogram di Swift?


95

Bagaimana saya bisa mendapatkan ID bundel di Swift?

Versi Objective-C:

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

Jawaban:


208

Coba ini:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier

20
Tahukah Anda mengapa bundleIdentifieritu opsional? Dalam kasus apa itu bisa terjadi nil?
Alexander - Kembalikan Monica

Kadang-kadang ini bukan tentang dalam kasus apa itu bisa menjadi nol ketika mencapai pengembangan tingkat tinggi, tetapi tentang kasus mana itu bisa menjadi nol.
Sethmr

2
@Alexander saat itu bukan bundel utama, atau CFBundleIdentifierhilang
ArtFeel

6

Ini hampir sama di Swift kecuali nama kelas dan metode telah dipersingkat:

let bundleIdentifier = Bundle.main.bundleIdentifier // return type is String?

5

Jika Anda mencoba untuk mendapatkannya secara terprogram, Anda dapat menggunakan baris kode di bawah ini:

Objective-C:

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

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Diperbarui untuk kecepatan terbaru Ini akan berfungsi untuk aplikasi iOS dan Mac.

Untuk Info Lebih Lanjut, Cek di sini:

Apple Docs: https://developer.apple.com/documentation/foundation/bundle#//apple_ref/occ/instm/NSBundle/bundleIdentifier


hei periksa swift3, hapus centang negatif Anda.
Aks
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.