बंडल पहचानकर्ता को स्विफ्ट में प्रोग्रामेटिक रूप से प्राप्त करें?


92

मैं स्विफ्ट में बंडल आईडी कैसे प्राप्त कर सकता हूं?

उद्देश्य-सी संस्करण:

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

जवाबों:


205

इसे इस्तेमाल करे:

let bundleID = NSBundle.mainBundle().bundleIdentifier

स्विफ्ट 3+:

let bundleID = Bundle.main.bundleIdentifier

20
क्या आप जानते हैं कि bundleIdentifierवैकल्पिक क्यों है? किन मामलों में यह हो सकता है nil?
अलेक्जेंडर -

कभी-कभी यह इस बारे में नहीं होता है कि उच्च स्तर के विकास तक पहुंचने पर यह किन मामलों में शून्य हो सकता है, लेकिन हुड के तहत किन मामलों में यह शून्य हो सकता है।
सेथ्मर

2
@Alexander जब यह मुख्य बंडल नहीं है, या CFBundleIdentifierगायब है
ArtFeel

5

कक्षा और विधि के नामों को छोड़कर स्विफ्ट में यह बहुत समान है:

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

4

यदि आप इसे प्रोग्रामेटिक रूप से प्राप्त करने की कोशिश कर रहे हैं, तो आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

उद्देश्य सी:

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

स्विफ्ट 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

नवीनतम स्विफ्ट के लिए अपडेट किया गया यह आईओएस और मैक ऐप दोनों के लिए काम करेगा।

अधिक जानकारी के लिए, यहां देखें:

Apple डॉक्स: https://developer.apple.com/documentation/foundation/bundle#//apple_ref/occ/instm/NSBundle/bundleIdentifier


स्विफ्ट 3 के लिए हेय चेक, अपने नकारात्मक चेक को हटा दें।
अक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.