मैं अपने ऐप के भीतर प्रोग्राम से बंडल पहचानकर्ता की एक स्ट्रिंग कैसे प्राप्त कर सकता हूं?
मैं अपने ऐप के भीतर प्रोग्राम से बंडल पहचानकर्ता की एक स्ट्रिंग कैसे प्राप्त कर सकता हूं?
जवाबों:
उद्देश्य सी
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
स्विफ्ट 1.2
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
स्विफ्ट 3.0
let bundleIdentifier = Bundle.main.bundleIdentifier
Xamarin.iOS
var bundleIdentifier = NSBundle.MainBundle.BundleIdentifier
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Bundle.main.bundleIdentifier!
मूल्य प्राप्त करने के लिए आपको कोर फाउंडेशन दृष्टिकोण की आवश्यकता हो सकती है। एआरसी उदाहरण निम्नलिखित है:
NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
(const void *)(@"CFBundleIdentifier"));
मैं इन मैक्रोज़ का उपयोग इसे बहुत छोटा बनाने के लिए करता हूं:
#define BUNDLEID [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]
#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]
इसलिए मैं सिर्फ इस तरह की तुलना कर सकता हूं:
if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
//do this
}
च आप इसे प्रोग्रामेटिक रूप से प्राप्त करने की कोशिश कर रहे हैं, आप नीचे दिए गए कोड का उपयोग कर सकते हैं:
उद्देश्य सी:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
स्विफ्ट 3.0:
let bundleIdentifier = Bundle.main.bundleIdentifier
नवीनतम स्विफ्ट के लिए अपडेट किया गया यह आईओएस और मैक ऐप दोनों के लिए काम करेगा।