Bundle-ID programmgesteuert in Swift erhalten?

92

Wie kann ich die Bundle-ID in Swift erhalten?

Objective-C-Version:

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

Antworten:

205

Versuche dies:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier
Sebastian
quelle
20
Wissen Sie, warum bundleIdentifiereine Option ist? In welchen Fällen kann es sein nil?
Alexander - Reinstate Monica
Manchmal geht es nicht darum, in welchen Fällen es Null sein könnte, wenn es die hohe Entwicklungsstufe erreicht, sondern darum, in welchen Fällen es unter der Haube Null sein könnte.
Sethmr
2
@ Alexander, wenn es nicht das Hauptpaket ist oder CFBundleIdentifierfehlt
ArtFeel
5

In Swift ist es so ziemlich dasselbe, außer dass die Klassen- und Methodennamen gekürzt wurden:

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

quelle
4

Wenn Sie versuchen, es programmgesteuert abzurufen, können Sie die folgende Codezeile verwenden:

Ziel c:

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

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Aktualisiert für die neueste Version Es funktioniert sowohl für iOS- als auch für Mac-Apps.

Weitere Informationen finden Sie hier:

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

Aks
quelle
hey check for swift3, entferne deinen negativen Check.
Aks