Obtenir l'identifiant du bundle par programmation dans Swift?

92

Comment puis-je obtenir l'identifiant du bundle dans Swift?

Version Objective-C:

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Utilisateur
la source

Réponses:

205

Essaye ça:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier
Sébastien
la source
20
Savez-vous pourquoi bundleIdentifierest une option? Dans quels cas cela peut-il être nil?
Alexander - Réintégrer Monica
Parfois, il ne s'agit pas de savoir dans quels cas il pourrait être nul quand il atteint le développement de haut niveau, mais de quels cas il pourrait être nul sous le capot.
Sethmr
2
@Alexander quand ce n'est pas le bundle principal ou qu'il CFBundleIdentifiermanque
ArtFeel
5

C'est à peu près la même chose dans Swift sauf que les noms de classe et de méthode ont été raccourcis:

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

la source
4

Si vous essayez de l'obtenir par programme, vous pouvez utiliser la ligne de code ci-dessous:

Objectif c:

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

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Mis à jour pour la dernière version rapide Il fonctionnera pour les applications iOS et Mac.

Pour plus d'informations, vérifiez ici:

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

Aks
la source
hey check for swift3, retirez votre chèque négatif.
Aks