2016-09-23 6 views
9

एक्सकोड 8 आपको आईओएस और मैकोज़ दोनों के लिए अपने ऐप्स पर हस्ताक्षर करने से पहले "विकास टीम" चुनने की मांग करता है। चयन करना है कि यह समझना बहुत मुश्किल नहीं था। (उत्तर मामला किसी में Add developer team in Xcode 8? में पाया जा सकता है खुद को यह समझ नहीं कर सकते हैं।).pbxproj में "विकास टीम" को सहेजने से एक्सकोड 8 को कैसे रोकें?

समस्या यह है कि Xcode .pbxproj फ़ाइल में चयन बचाता है। चूंकि मेरे मामले में, और मैं कई अन्य लोगों की अपेक्षा करता हूं, यह एससीएम के तहत है, और परियोजना का उपयोग कई असंबद्ध लोगों & टीमों द्वारा किया जाता है, यह एक बड़ी समस्या है। उदाहरण के लिए 'गिट स्टेटस' दिखाता है कि जैसे ही टीम का चयन किया गया है, कार्य क्षेत्र साफ़ नहीं है।

वहाँ या तो

  • Xcode 8 परियोजना डेटा उपयोगकर्ता के बजाय में चयन को बचाने के लिए करने के लिए एक रास्ता है, या
  • एक डिफ़ॉल्ट सब Xcode परियोजनाओं के लिए "विकास दल" निर्दिष्ट?
+3

के साथ किया था https://pewpewthespells.com/blog/migrating_code_signing.html, सभी डेवलपर्स के अनुसार किसी भी डिवाइस पर चलेंगे एक परियोजना पर काम करना एस में जोड़ा जाना चाहिए एएम खाता/डेवलपर टीम "परियोजना फाइल को गंदे से बचने के लिए"। स्पष्ट रूप से खुली स्रोत परियोजना के लिए तर्कसंगत रूप से उचित नहीं है, खासकर जब लोग व्यक्तिगत टीमों का उपयोग कर रहे हैं। निश्चित रूप से आशा है कि एक बेहतर समाधान होगा। – msc

+0

पुरानी कोड हस्ताक्षर प्रणाली के साथ क्यों नहीं रहें? यह अभी भी ठीक काम करता है। –

+1

ठीक है, आप नहीं कर सकते। यदि आप स्पष्ट रूप से विकास टीम नहीं चुनते हैं तो एक्सकोड 8 आईओएस/टीवीओएस डिवाइस के लिए आपके लक्ष्य को संकलित नहीं करेगा।यह ओपन सोर्स प्रोजेक्ट के लिए बेकार है जो वैध हस्ताक्षर पहचान चुनकर एक्सकोड 7 के साथ संकलित करने के लिए उपयोग किया जाता है। – 0xced

उत्तर

5

आप एक DEVELOPMENT_TEAM कस्टम पथ (अपनी टीम पहचानकर्ता के साथ ABCDEFGHIJ की जगह) निर्धारित कर project.pbxproj फ़ाइल के बाहर अपने विकास दल पहचानकर्ता को संग्रह करने Xcode के कस्टम पथ तंत्र का दुरुपयोग कर सकते हैं:

Xcode Custom Paths

(Xcode मेनू → प्राथमिकताएं ... → स्थान → कस्टम पथ)

कस्टम पथ Xcode की वरीयताओं में संग्रहीत हैं (IDEApplicationwideBuildSettings और IDESourceTreeDisplayNames)।

लेकिन एक पकड़ है! दुर्भाग्यवश, जैसे ही आप प्रोजेक्ट में कुछ भी बदलते हैं (एक बिल्ड सेटिंग अपडेट करें, एक नया बिल्ड चरण जोड़ें, लक्ष्य का नाम बदलें आदि) विकास टीम को स्वचालित रूप से प्रोजेक्ट.pbxproj फ़ाइल में जोड़ा जाएगा (प्रोजेक्ट के TargetAttributes में वस्तु)। इसके लिए निरंतर देखभाल की आवश्यकता है कि वे परिवर्तन न करें।

हैं स्थापित करने की इस प्रथा को अपने DEVELOPMENT_TEAM एक कस्टम पथ लाभ कर्षण के रूप में, ओपन सोर्स प्रोजेक्ट स्वामी किसी भी विकास टीम है और न ही प्रोफ़ाइल प्रोविजनिंग को निर्दिष्ट नहीं कर सकेंगे, के लिए किसी भी iOS SDK का कोड पर हस्ताक्षर करना पहचान सेटलिए आईओएस डेवलपर ("CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";) और खुला स्रोत डेमो एप्लिकेशन बनाए और जैसे यह Xcode 7.

+0

यह काम करता है। इस बुरा समस्या को हल करने के लिए धन्यवाद। सौभाग्य से आपके द्वारा उल्लेख किया गया पकड़ मेरे लिए कोई मुद्दा नहीं है क्योंकि मेरी परियोजना जीवाईपी का उपयोग कर project.pbxproj फ़ाइलों को उत्पन्न करती है। जीवाईपी फाइलों में कोई भी बदलाव किया जाना चाहिए। मुझे खुशी है कि मुझे एससीएम से project.pbxproj फ़ाइलों को हटाने और अपने उपयोगकर्ताओं को अपनी टीम पहचानकर्ता प्रदान करने के बाद खुद को उत्पन्न करने के लिए मजबूर करने के अपने वैकल्पिक समाधान के साथ जाना नहीं था। – msc

+0

मुझे कुछ याद आ रहा है। मैंने उपर्युक्त चरणों का पालन किया, लेकिन यह सुनिश्चित नहीं है कि इस कस्टम पथ का उपयोग कैसे करें। मैंने इस कस्टम पथ को बनाने के बाद अपनी टीम को किसी को भी सेट नहीं किया है, लेकिन परियोजना मेरे फोन पर नहीं बनाई जाएगी। – djibouti33

+0

मुझे लगता है कि मुझे मिल गया। लक्ष्य> सेटिंग बनाएं> विकास टीम> अन्य> $ (DEVELOPMENT_TEAM) जोड़ें। यदि आप लक्ष्य> सामान्य पर वापस जाते हैं, तो आप देखेंगे कि आपकी टीम आबादी में है। यदि आप टेक्स्ट संपादक में project.pbxproj खोलते हैं और DEVELOPMENT_TEAM की खोज करते हैं, तो आप देखेंगे कि इसे "$ (DEVELOPMENT_TEAM)" पर सेट किया गया है। ऐसा कहा जा रहा है कि, मैं अभी भी "डेवलपमेंट टीम" खोजकर अपनी टीम आईडी ढूंढने में सक्षम था, इसलिए मुझे यकीन नहीं है कि यह समाधान मेरे लिए काम करेगा या नहीं। – djibouti33

0

मैंने अपनी परियोजना को एक्सकोड 7.3.1 से एक्सकोड 8 तक अपग्रेड किया, और कभी भी विकास टीम या गैर-बहिष्कृत प्रावधान प्रोफ़ाइल सेट नहीं की, और चीजें अभी भी ठीक काम करती हैं।

enter image description here

+1

यह ठीक है जब आपके सभी टीम के सदस्यों के पास * ट्विच डेवलपमेंट 20161017 * प्रावधान प्रोफ़ाइल तक पहुंच है, जिसमें शायद टीम के सभी डिवाइस शामिल हैं। लेकिन यह ओपन सोर्स प्रोजेक्ट्स के लिए काम नहीं करता है जो स्पष्ट रूप से प्रावधान प्रोफाइल प्रदान नहीं कर सकता है। – 0xced

+0

हां, लेकिन आप बहिष्कृत प्रावधान प्रोफ़ाइल को xcconfig चर के रूप में सेट कर सकते हैं? फिर यह अधिलेखित नहीं होगा। –

+0

यह समस्या नहीं है। समस्या यह है कि एक ओपन सोर्स प्रोजेक्ट के लिए, आप एक प्रावधान प्रोफ़ाइल सेट नहीं कर सकते हैं। अपने * ट्विच डेवलपमेंट 20161017 * टेक्स्ट एडिटर में प्रोविजनिंग प्रोफाइल की 'प्रावधान विधि' देखें: यह केवल कुछ उपकरणों के लिए काम करेगा। एक्सकोड 7 में, आप कोड हस्ताक्षर पहचान को _iPhone डेवलपर_ पर सेट कर सकते हैं, प्रावधान प्रोफ़ाइल को खाली कर दें और एक्सकोड स्वचालित रूप से आपकी _iOS टीम प्रोविजनिंग प्रोफ़ाइल चुन लेगा: * _। एक्सकोड 8 के साथ अब यह संभव नहीं है। – 0xced

संबंधित मुद्दे