कोको आवेदन की जानकारी plist में "बंडल प्रदर्शन नाम" और "बंडल नाम" के बीच अंतर क्या है


127

यहाँ एक अच्छा सवाल है:

बंडल नाम, निष्पादन योग्य नाम, उत्पाद का नाम ... कुछ और?

लेकिन मैं सिर्फ कोको के आवेदन की जानकारी की मुट्ठी में "बंडल डिस्प्ले नाम" और "बंडल नाम" के बीच के अंतर के बारे में सोचता हूं।

जवाबों:


102

मुझे नहीं लगता कि कोई भी अन्य उत्तर स्पष्ट रूप से प्रश्न का उत्तर देता है।

  • CFBundleDisplayName- प्रदर्शित: नीचे आइकन । डॉक्स के अनुसार, स्थानीय होना चाहिए, लेकिन केवल तभी जब एप्लिकेशन स्वयं स्थानीयकृत हो, अन्यथा किसी प्रकार का जुर्माना होगा (यदि यह वास्तव में सच है तो मैं नहीं कह सकता)

  • CFBundleName- प्रदर्शित: मुझे कोई पता नहीं है । डॉक्स सुझाव देते हैं कि इसका उपयोग सूचियों में अधिकतम 16 वर्णों के लिए किया जाएगा, लेकिन उदाहरण के लिए सेटिंग्स → सामान्य → उपयोग की जाने वाली ऐप्स की सूची CFBundleDisplayNameवास्तव में उपयोग होती है। आज तक मुझे कभी पता नहीं चला है कि वास्तव में यह कहां उपयोग किया जाता है।

ओह, यह iOS ऐप्स के लिए है, अन्य OSes के लिए नहीं बोल सकता।


7
CFBundleDisplayName भी सूचना के शीर्षक के रूप में प्रदर्शित करता है (लॉक स्क्रीन पर अधिसूचना केंद्र में, आदि)।
जस्टिन रसेल

114
एक "मेरे पास कोई विचार नहीं है" उत्तर को चेकमार्क और अप वोट कैसे मिला?
बैडवाइसल

14
मेरा कहना यह है कि किसी को यह पता नहीं लगता कि इसका उपयोग कहां किया गया है, किसी ने अभी तक उत्तर नहीं दिया है। यदि आप उत्तर जानते हैं, तो इसे "एक और उत्तर जोड़ें" पर टैप करके इसे जोड़ने के लिए स्वतंत्र महसूस करें।
जॉनी

2
CFBundleDisplayName का उपयोग iTunes फ़ाइल शेयरिंग फ़ीचर में भी किया जाता है। यदि काली छोड़ दी जाती है, तो ऐप iTunes सूची में प्रदर्शित नहीं होगा, भले ही यह सुविधा सक्षम हो।
अपराह्न 29:14

1
मुझे लगता है कि CFBundleName ऐप फ़ोल्डर या "बंडल" का नाम है जहां सब कुछ संग्रहीत है।
kelin

100

वीवा के जवाब के लिए धन्यवाद। यहां उन लोगों के लिए वर्णन है जो इस दो स्थिरांक के साथ भ्रमित थे।

CFBundleDisplayName

CFBundleDisplayName(स्ट्रिंग - आईओएस, मैक ओएस एक्स) बंडल के प्रदर्शन नाम को निर्दिष्ट करता है। यदि आप अपने बंडल के लिए स्थानीयकृत नामों का समर्थन करते हैं, तो इस कुंजी को अपनी जानकारी संपत्ति सूची फ़ाइल और अपनी भाषा उपनिर्देशिकाओं की InfoPlist.strings फ़ाइलों में शामिल करें। यदि आप इस कुंजी को स्थानीय करते हैं, तो आपको CFBundleName कुंजी का स्थानीयकृत संस्करण भी शामिल करना चाहिए।

यदि आप अपनी बंडल को स्थानीय बनाने का इरादा नहीं रखते हैं, तो इस जानकारी को अपनी Info.plist फ़ाइल में शामिल न करें। इस कुंजी का समावेश बंडल नाम के प्रदर्शन को प्रभावित नहीं करता है, लेकिन इस कुंजी के स्थानीय संस्करणों के लिए खोज करने के लिए एक प्रदर्शन दंड देता है।

अपने बंडल के लिए एक स्थानीय नाम प्रदर्शित करने से पहले, फाइंडर फाइल सिस्टम में आपके बंडल के वास्तविक नाम के खिलाफ इस कुंजी के मूल्य की तुलना करता है। यदि दो नाम मेल खाते हैं, तो खोजक आपके बंडल की उपयुक्त InfoPlist.strings फ़ाइल से स्थानीयकृत नाम प्रदर्शित करने के लिए आगे बढ़ता है। यदि नाम मेल नहीं खाते हैं, तो खोजक फ़ाइल-सिस्टम नाम प्रदर्शित करता है।

मैक ओएस एक्स में प्रदर्शन नामों के बारे में अधिक जानकारी के लिए, फ़ाइल सिस्टम अवलोकन देखें।


CFBundleName

CFBundleName(स्ट्रिंग - आईओएस, मैक ओएस एक्स) बंडल के संक्षिप्त नाम की पहचान करता है। यह नाम 16 वर्णों से कम लंबा होना चाहिए और मेनू बार और एप्लिकेशन की जानकारी विंडो में प्रदर्शित होने के लिए उपयुक्त होना चाहिए। आप इस कुंजी को इसके लिए स्थानीयकृत मान प्रदान करने के लिए एक उपयुक्त .lproj उपनिर्देशिका की InfoPlist.strings फ़ाइल में शामिल कर सकते हैं। यदि आप इस कुंजी को स्थानीयकृत करते हैं, तो आपको कुंजी को भी शामिल करना चाहिएCFBundleDisplayName.


1
"मेनू बार और एप्लिकेशन की जानकारी विंडो" क्या है ??? - क्या यह Xcode, सिम्युलेटर या iOS डिवाइस में किसी चीज का जिक्र है? @xhan - कोई मदद?
एथन पार्कर

@BeemerFan यह OS X मेनू बार की बात कर रहा है। xhan ने Apple के प्रलेखन का हवाला दिया है, और यदि आप देखेंगे, तो यह "iOS, Mac OS X" कहता है, इसलिए यह दोनों पर लागू होता है (और कुछ विवरण प्लेटफ़ॉर्म-विशिष्ट हैं, जाहिर है)।
क्रिस पेज

सिर्फ स्रोत का हवाला देते हुए, यहाँ Apple के डॉक्स से CFBundleDisplayName की जानकारी दी गई है: developer.apple.com/library/ios/documentation/General/Reference/…
tylermilner

यह कहना गलत है कि इस कुंजी को शामिल न करें जब तक कि स्थानीयकरण की योजना न हो। Apple दस्तावेज़ का कहना है कि आपको इस कुंजी को शामिल करना होगा क्योंकि सिरी इसका उपयोग करता है। developer.apple.com/library/archive/documentation/General/…
डिफिएंट

1
ऐसा प्रतीत होता है कि Apple को अब कम से कम 2019-06-28, या कहीं हाल ही में CFBundleDisplayName की आवश्यकता है। अब आपको एक अमान्य बाइनरी अस्वीकृति मिलती है।
डेव हबर्ड

29

एक व्यस्त बिल्ली

Apple के अनुसार,

बंडल प्रदर्शन नाम:

आपके द्वारा प्रदर्शित ऐप का नाम on the iPhone home screenCFBundleDisplayName (या "बंडल प्रदर्शन नाम" Xcode में मानव-पठनीय स्ट्रिंग के रूप में) से आता है, जो आपके iOS ऐप की Info.plist प्रविष्टि है।

इसी तरह, आपके द्वारा देखे जाने वाले ऐप का नाम WatchKit app's launch screen और notificationsआपके वॉचकीट ऐप की जानकारी के CFBundleDisplayName से आता है।

बंडल नाम:

The Apple Watch app on the iPhone वर्तमान में आपके iOS ऐप के बंडल नाम (बंडल डिस्प्ले नाम नहीं) का उपयोग करता है, जो कि इसके Info.plist के CFBundleName (या "बंडल नाम") प्रविष्टि द्वारा निर्दिष्ट है।

आप अन्य संबंधित स्क्रीनशॉट देख सकते हैं और यहां क्लिक करके Apple डेवलपर पेज पर अधिक जानकारी तक पहुंच सकते हैं ।


19
मैं मदद नहीं कर सकता, लेकिन आश्चर्य है: यदि आप स्क्रीनशॉट लेने की परेशानी में जा रहे हैं, तो यह दिखाने के लिए कि मूल्यों का उपयोग कैसे किया जाता है, क्या उन्हें अलग-अलग मूल्य देना बेहतर नहीं होगा ताकि वे अलग-अलग दिखाई दें?
रिचर्ड साज़ेले

15

मेरे अनुभव से:

  • CFBundleDisplayName का उपयोग iOS उपकरणों पर ऐप्स की ग्रिड में किया जाता है
  • CFBundleName का उपयोग iTunes पुस्तकालय में संग्रहीत एप्लिकेशन की सूची में किया जाता है

6
बस Apple एक साधारण चीज़ को जटिल बनाने के लिए।
डक

यह सही लगता है, Google Hangouts में एक छोटा प्रदर्शन नाम और एक अप्रिय लंबी स्पैम जैसी iTunes लाइब्रेरी नाम है।

1
CFBundleName भी दिखाई देता है यदि आपको एक ऐप इंस्टॉल करने में त्रुटि संदेश मिलता है, जैसे कि "( CFBundleName ) इस समय इंस्टॉल नहीं किया जा सकता है"।
saveknut

10

केवल यदि बंडल प्रदर्शन नाम ( CFBundleDisplayName) निर्दिष्ट नहीं है, तो बंडल नाम का मान (CFBundleName ऐप आइकन के तहत प्रदर्शित करने के लिए ) उपयोग किया जाएगा।

कृपया ध्यान दें कि CFBundleDisplayName यह स्थानीयकरण योग्य है, और इसका उपयोग iOS स्प्रिंगबोर्ड मेनू और मैक ओएस एक्स एप्लीकेशन / मिशन कंट्रोल में दिखाए गए ऐप नाम को सेट करने के लिए किया जाना चाहिए।

संक्षेप में, CFBundleNameअपने मूल्य को डिफ़ॉल्ट रूप से स्पर्श न करें और छोड़ दें, अर्थात ${PRODUCT_NAME}


0

ध्यान दें कि बंडल नाम HTTP उपयोगकर्ता-एजेंट के लिए उपसर्ग के रूप में भी उपयोग किया जाता है।

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