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];

Réponses:


205

Essaye ça:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier

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?

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


hey check for swift3, retirez votre chèque négatif.
Aks
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.