プログラムでバンドル識別子をSwiftで取得しますか?


92

SwiftでバンドルIDを取得するにはどうすればよいですか?

Objective-Cバージョン:

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

回答:


205

これを試して:

let bundleID = NSBundle.mainBundle().bundleIdentifier

Swift 3以降:

let bundleID = Bundle.main.bundleIdentifier

20
なぜbundleIdentifierオプションなのか知っていますか?どのような場合にできますnilか?
アレクサンダー-モニカを復活させる

場合によっては、高レベルの開発に達したときにそれがnilになる可能性があるのではなく、内部でnilになる可能性がある場合についてです。
Sethmr

2
メインバンドルではない、またはCFBundleIdentifier欠落している
ときの@Alexander

5

クラス名とメソッド名が短縮されていることを除いて、Swiftの場合とほとんど同じです。

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

4

プログラムで取得しようとしている場合は、以下のコード行を使用できます。

Objective-C:

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

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

iOSとMacの両方のアプリで動作します。

詳細については、こちらを確認してください。

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


ちょっとswift3のチェック、ネガティブチェックを削除してください。
Aks
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.