IOS में अपना पहला एप सबमिट करते समय Xcode में बंडल आइडेंटिफायर बदलें


97

मैं अपना पहला ऐप सबमिट करने की कोशिश कर रहा हूं iOS। मैंने दर्ज किया है iOS Provisioning Portalऔर मैं एक ऐप आईडी बनाने वाला हूं।

कहते हैं कि मैं अपने बंडल पहचानकर्ता का नाम देता हूं:

com.mycompany.appdemo

फिर Xcode पर जा रहा है और सारांश अनुभाग में मैं बंडल पहचानकर्ता को बदलना चाहता हूं।

लेकिन मैं यह नहीं मिटा सकता कि वहां क्या लिखा जा रहा है, केवल इसकी शुरुआत। मेरे ऐप का नाम ग्रे रंग में है और मैं इसे हटा नहीं सकता या बदल नहीं सकता।

तो मैं इस तरह से ग्रे रंग में देखता हूं App-Demoजो बाईं ओर की परियोजना का नाम है।

मेरा सवाल यह है: क्या यह एक समस्या है? क्या मुझे नाम com.mycompany.App-Demoया कुछ और नाम से एक नया ऐप आईडी बनाना है?

यहाँ एक तस्वीर भी है। यहां छवि विवरण दर्ज करें जैसा कि आप देख सकते हैं कि मैं केवल पहले भाग को संपादित कर सकता हूं।


2
प्रश्न और उत्तर पुराना है
इयान एस

1
संभवत: हाँ क्योंकि मूल रूप से 5 साल पहले पूछा गया था।
भूतकाल

जवाबों:


158

डिफ़ॉल्ट रूप से, Xcode बंडल पहचानकर्ता को उस बंडल / कंपनी पहचानकर्ता को सेट करता है जिसे आपने प्रोजेक्ट निर्माण + प्रोजेक्ट नाम के दौरान सेट किया है।

प्रोजेक्ट निर्माण - बंडल / कंपनी पहचानकर्ता + उत्पाद का नाम

यह प्रोजेक्ट> सारांश स्क्रीन में आपके द्वारा देखे जाने के समान है।

परियोजना> सारांश

लेकिन आप इसे प्रोजेक्ट> इंफो स्क्रीन में बदल सकते हैं। (यह Info.plist है।)

प्रोजेक्ट> जानकारी


8
महत्वपूर्ण नोट, आप को साफ और पहचानकर्ता बदलने के बाद पुनर्निर्माण के लिए हो सकता है
Claudiu

3
ध्यान दें कि जब मैंने ऐसा किया था, तो जाहिर तौर पर मेरी कोर डेटा फ़ाइल का मार्ग बदल गया (बंडल नाम का एक फ़ंक्शन होना चाहिए?)। तो, ऐप का अगला रन बिना कोर डेटा फ़ाइल के ही मिला।
ग्लीमोन

बहुत बहुत धन्यवाद। मैंने कभी अनुमान नहीं लगाया होगा कि Info.plist में सीधे बंडल पहचानकर्ता को बदलना संभव है।
अविनाश मीतू

@neilvillareal यह इसे बदलने की अपील करता है, लेकिन वास्तव में यह इसे बदलता नहीं है। मैंने डेवलपर.apple.com में डिस्ट्रीब्यूशन प्रोविज़निंग प्रोफाइल सेट करने के बाद इस पर ध्यान दिया है और फिर जब मैंने इसे आयात करने की कोशिश की, तो उसने कहा कि "प्रोविज़निंग प्रोफाइल" Mrev "में ऐप ID" com.vividapboxsteam.Movv "है, जो नहीं है बंडल आईडी से मेल करें "com.vividapartments.Mrev"। " मुझे कहना होगा कि मैं कोको फली का उपयोग कर रहा हूं और यदि आप राइट-क्लिक करते हैं Mrev.Xcworspace, Show Package Contents, राइट क्लिक प्रोजेक्ट ।xcworkspace, Sublime के साथ खुला, तो आपको PRODUCT_BUNDLE -IDENTIFIER या संगठन के अंतर्गत कोई परिवर्तन नहीं दिखाई देगा।
17

मेरा मतलब है, अगर मैं Mrev.xcodeproj को खोलता हूं, तो मैंने ऊपर एक टाइपो बनाया और xxworkspace के बजाय .xcodeproj
bibscy

23

मुझे पता है कि इसकी देर है लेकिन यह उन लोगों के लिए मददगार हो सकती है जिन्हें ऐप के बंडल आइडेंटिफायर को बदलने की जरूरत है। खोजक में प्रोजेक्ट फ़ोल्डर में जाएं:

the project file --> Right click on your project file '*.xcodeproj' 

यहां छवि विवरण दर्ज करें

--> choose 'Show Package Contents' 
--> Double click to open 'project.pbxproj' file 

यहां छवि विवरण दर्ज करें

--> find 'productName = NAME_YOU_WANT_TO_CHANGE' in the 
    '/* Begin PBXNativeTarget section */'

$ {PRODUCT_NAME: rfc1034identifier} चर को आपके द्वारा दर्ज किए गए नाम से बदल दिया जाएगा और नए बंडल पहचानकर्ता को अपडेट किया जाएगा कि आपको इसकी क्या आवश्यकता है।


11

यहाँ एप्पल के आधिकारिक दस्तावेज से जवाब दिया गया है, बस कोशिश की, यह काम कर रहा है।

बंडल आईडी सेट करना

आपके Xcode प्रोजेक्ट में डिफ़ॉल्ट बंडल आईडी एक स्ट्रिंग है, जिसे रिवर्स-डोमेन के रूप में स्वरूपित किया गया है- उदाहरण के लिए, com.MyCompany.MyProductName । डिफ़ॉल्ट बंडल आईडी बनाने के लिए, Xcode एक टेम्पलेट से प्रोजेक्ट बनाते समय आपके द्वारा दर्ज किए गए उत्पाद के नाम के साथ कंपनी पहचानकर्ता को सम्‍मिलित करता है, जैसा कि सेटिंग गुणों में आपका Xcode प्रोजेक्ट बनाते समय वर्णित है । (Xcode डिफ़ॉल्ट बंडल आईडी बनाने के लिए उत्पाद के नाम में स्थान बदलता है।) बंडल आईडी में कंपनी पहचानकर्ता उपसर्ग को बदलने के लिए पर्याप्त हो सकता है या आप पूरे बंडल आईडी को बदल सकते हैं। उदाहरण के लिए, अपनी कंपनी डोमेन नाम से मिलान करने के लिए कंपनी पहचानकर्ता उपसर्ग को बदलें या स्पष्ट ऐप आईडी से मिलान करने के लिए पूरे बंडल आईडी को बदलें।

मैक ऐप्स के लिए, सुनिश्चित करें कि आपके ऐप बंडल में हर बंडल आईडी अद्वितीय है। उदाहरण के लिए, यदि आपके ऐप बंडल में एक सहायक ऐप शामिल है, तो सुनिश्चित करें कि इसकी बंडल आईडी आपके ऐप की बंडल आईडी से अलग है।

प्रोजेक्ट एडिटर में सामान्य फलक में बंडल ID उपसर्ग को बदलने के लिए इन चरणों का पालन करें।

बंडल आईडी उपसर्ग सेट करने के लिए

  1. प्रोजेक्ट नेविगेटर में, प्रोजेक्ट एडिटर को प्रदर्शित करने के लिए प्रोजेक्ट और अपने लक्ष्य का चयन करें।

  2. सामान्य पर क्लिक करें और, यदि आवश्यक हो, तो सेटिंग्स को प्रकट करने के लिए पहचान के बगल में प्रकटीकरण त्रिकोण पर क्लिक करें।

यहां छवि विवरण दर्ज करें

  1. "पहचानकर्ता" फ़ील्ड में बंडल आईडी उपसर्ग दर्ज करें।

बंडल आईडी सेट करने के लिए

  1. प्रोजेक्ट नेविगेटर में, प्रोजेक्ट एडिटर को प्रदर्शित करने के लिए प्रोजेक्ट और अपने लक्ष्य का चयन करें।

  2. जानकारी पर क्लिक करें।

  3. "पहचानकर्ता" पंक्ति के मान स्तंभ में बंडल आईडी दर्ज करें।

यहां छवि विवरण दर्ज करें

यदि आप अधिक पढ़ने में रुचि रखते हैं, तो कृपया Apple से एपीपी डिस्ट्रीब्यूशन गाइड की जाँच करें ।


ओपी पूछ रहा था कि प्रोजेक्ट का नाम कैसे बदला जाए। एक परियोजना स्थापित करने के लिए उपरोक्त कदम हैं।
दीर्घवृत्त

10

बस अपनी परियोजना की निर्माण सेटिंग में उत्पाद का नाम बदलें। यह बंडल पहचानकर्ता को मैन्युअल रूप से xcode कॉन्फ़िगरेशन फ़ाइलों को छूने की आवश्यकता के साथ नहीं बदलेगा।


9

प्रोजेक्ट नेवीगेटर विंडो के शीर्ष पर सिंगल क्लिक द्वारा प्रोजेक्ट नाम संपादित करें, इस मामले में काम करेगा। आपको किसी अन्य चीज की कोशिश करने की आवश्यकता नहीं है। :)


मुझे बस यह जोड़ना है कि मुझे इसके लिए बिल्ड स्कीम को हटाना और फिर से जोड़ना था, इसके बाद नए नाम को प्रतिबिंबित करना था।
जोगलिंद

5

इससे मेरी समस्या हल हो गई।

बिल्ड सेटिंग से बस बंडल पहचानकर्ता को बदलें ।

 Navigate to Project >> Build Setting >> Product Bundle Identifier 

3

वास्तव में आप इसे बिल्ड सेटिंग्स में बदल सकते हैं ; नीचे एक खंड " उपयोगकर्ता-परिभाषित " है जहां आप आसानी से बदल सकते हैं PRODUCT_BUNDLE_IDENTIFIER ।

मैं इस तरह से पसंद करता हूं, क्योंकि यदि आप जानकारी चर को बदलते हैं तो आप दूसरे मान के संदर्भ को बदल रहे हैं।

यहां छवि विवरण दर्ज करें


2

एक बहुत ही सरल उपाय है कि फाइल को खोलें:

YOURPROJECT.xcodeproj/project.pbxproj

और इस चर के लिए खोजें:

PRODUCT_BUNDLE_IDENTIFIER

आप कुछ इस तरह देखेंगे:

PRODUCT_BUNDLE_IDENTIFIER = com.YOUR_APP_NAME.SOMETHING;

तो, दाईं ओर का नाम आपका बंडल पहचानकर्ता है। मेरे मामले में यह पूरी तरह से काम करता है।


यदि यह स्पंदन परियोजना है, तो कभी-कभी मान एक ही फ़ाइल में कई स्थानों पर हो सकता है, सभी मिलान स्थानों में मूल्य को बदलना सुनिश्चित करें
रिस्वान

0

XCode 7 में आप अपने लक्ष्य को डबल क्लिक करके और नाम बदलकर अपने बंडल पहचानकर्ता को अपडेट कर सकते हैं। यहां छवि विवरण दर्ज करें


0

Xcode 7

अपनी परियोजना के रूट नोड का चयन करें -> संपादक में प्रोजेक्ट नाम पर क्लिक करें -> लक्ष्यों का चयन करें -> पहचान -> बंडल पहचानकर्ता


0

यदि आप एक कॉर्डोबा एप्लिकेशन विकसित कर रहे हैं, में संस्करण और बंडल पहचानकर्ता को बदलने के लिए सुनिश्चित करें config.xmlसाथ ही

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