2016-09-11 13 views
15

Hullo,Xcode 8.0 स्वचालित रूप से प्रबंधित हस्ताक्षर व्यवहार

मैं का उपयोग कर किया जा रहा था स्वचालित रूप से कुछ समय के लिए विकल्प पर हस्ताक्षर करना प्रबंधित करें। फिर भी जब मैं हाल ही में एक्सकोड 8.0 संस्करण में ऐसा करता हूं तो यह मुझे बिल्ड सेटिंग्स में रिलीज और वितरण के लिए डेवलपर कोड साइनिंग पहचान का उपयोग करने के लिए मजबूर करता है, जो प्रति अजीब बात है। और जब मैं सापेक्ष बाइनरी जमा करता हूं तो मुझे ऐप्पल से डरावना पुश अधिसूचना एंटाइटेलमेंट ईमेल मिलता है। इसके लिए तैयार करने के लिए मैंने स्वचालित विकल्प को अक्षम कर दिया और मैन्युअल रूप से प्रोफाइल निर्दिष्ट कर दिया, और इससे मुझे वितरण सेटिंग में वितरण प्रोफ़ाइल रखने और ऐप्पल से चेतावनी ईमेल सहेजने की अनुमति मिली।

स्वचालित प्रबंधन इस तरह से क्यों काम करता है और इसके व्यवहार को समायोजित करने के लिए क्या करना है?

उत्तर

44
Xcode 8 की रिलीज के साथ

, एप्पल पर हस्ताक्षर करने के विन्यास के प्रबंधन के लिए एक नया तरीका पेश किया। अब आपके पास दो विकल्प Manual और Automatic हैं।

यह नया Automatic Signing वही काम नहीं करता जैसा कि उसने पिछले एक्सकोड संस्करणों में किया था। इससे पहले, जब आप Automatic प्रावधान प्रोफाइल निर्धारित करते हैं, Xcode पहले प्रावधान प्रोफ़ाइल और आपके कंप्यूटर में प्रमाणपत्र हकों से मेल खाता है और पहचानकर्ता है कि आप प्रयोग कर रहे थे बंडल का उपयोग कर रहा था।

एक्सकोड 8, Automatic Signing में आपके लिए प्रोफाइल, एंटाइटेलमेंट और प्रमाणपत्र प्रबंधित करने जा रहा है, लेकिन केवल Development के लिए। यदि आप स्वचालित चुनते हैं, तो आपको Development signing और एक्सकोड-निर्मित प्रावधान प्रोफ़ाइल का उपयोग करने के लिए मजबूर होना पड़ता है।

WWDC 2016 (Session 401 - What's new in Xcode app signing) पर वे इस नई हस्ताक्षर विधि की व्याख्या करते हैं और कुछ 'सर्वोत्तम व्यवहार' का वर्णन करते हैं। जब आप वितरण के लिए निर्माण कर रहे हैं और Automatic Signing या Manual का उपयोग कर रहे हैं तो आपको Development के लिए आर्काइव करना चाहिए और फिर निर्यातक (ऑर्गनाइज़र या कमांड लाइन टूल्स xcodebuild -exportArchive से) Distribution के रूप में निर्यात करना चाहिए। आयोजक Distribution के लिए अपने ऐप्लिकेशन को पुनः पर हस्ताक्षर करेंगे, भले ही वह Development के लिए संग्रहीत किया गया था।

आपके द्वारा वर्णित अन्य समस्या, "लापता अधिसूचना एंटाइटेलमेंट गुम है" क्योंकि एक्सकोड 8 ने एंटाइटेलमेंट लागू करने के तरीके को बदल दिया है। एक्सकोड के पिछले संस्करणों के साथ, आपको APS Environment एंटाइटेलमेंट को स्पष्ट रूप से जोड़ने की आवश्यकता नहीं थी, अगर आपके प्रावधान प्रोफ़ाइल में वह अधिकार था तो यह पर्याप्त था। सुनिश्चित करें कि आप Push Notification क्षमता Capabilities टैब में सक्षम किया हुआ है, और जाँच वहाँ कोई त्रुटि नहीं है।

(संपादित करें: इस नए व्यवहार जानबूझकर और Xcode 8 रिलीज़ नोट में वर्णित है: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44)

Xcode 8 स्वचालित रूप से निर्माण समय में प्रोफाइल प्रावधान से ए पी एस पर्यावरण पात्रता नकल नहीं करता है। यह व्यवहार जानबूझकर है। इस पात्रता का उपयोग करने के लिए, या तो परियोजना संपादक की क्षमताओं फलक में सूचनाएं पुश सक्षम करें, या मैन्युअल रूप से अपने हकों फाइल करने के लिए पात्रता जोड़ें। (28076333)

+0

हां, वास्तव में अधिसूचना क्षमता अजीब लाल थी। मैंने बटन दबाया और यह भी मिला। अजीब व्यवहार। मुझे लगता है कि मुझे बाइनरी जमा करनी होगी क्योंकि यह अधिसूचनाओं के बिना जाता है। किसी भी दर पर ऐप्पल ने मेरी बाइनरी को अस्वीकार नहीं किया। क्षमताओं में सुधार को मुद्दा बटन दबाने के बाद - –

+1

@pablobart, यह है कि पात्रता मूल्य "> विकास ए पी एस पात्रता" है सामान्य है? मैं वितरण मूल्य के बारे में सोचता हूं। – gaussblurinc

+1

यहां डब्ल्यूडब्ल्यूडीसी 2016 सत्र 401 वीडियो है: https://developer.apple।कॉम/वीडियो/प्ले/wwdc2016/401/ –

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