Ottenere l'identificatore del bundle a livello di codice in Swift?


92

Come posso ottenere l'ID bundle in Swift?

Versione Objective-C:

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

Risposte:


205

Prova questo:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier

20
Sai perché bundleIdentifierè un optional? In quali casi può essere nil?
Alexander - Ripristina Monica il

A volte non si tratta di in quali casi potrebbe essere nullo quando raggiunge lo sviluppo di alto livello, ma di quali casi potrebbe essere nullo sotto il cofano.
Sethmr

2
@Alexander quando non è il pacchetto principale o CFBundleIdentifiermanca
ArtFeel

5

È praticamente la stessa cosa in Swift tranne che i nomi di classi e metodi sono stati abbreviati:

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

4

Se stai cercando di ottenerlo in modo programmatico, puoi utilizzare la riga di codice seguente:

Obiettivo-C:

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

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Aggiornato per l'ultimo swift Funzionerà sia per le app iOS che per quelle Mac.

Per ulteriori informazioni, controlla qui:

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


hey controlla swift3, rimuovi il tuo assegno negativo.
Aks
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.