Xcode 6 - Ad-Hoc वितरण के लिए हस्ताक्षर प्रमाण पत्र / प्रोविजनिंग प्रोफाइल कैसे चुनें?


143

अपने परीक्षकों को ऐप वितरित करने के लिए हम Xcode का उपयोग करते हैं, जो हम निम्नलिखित प्रक्रिया का उपयोग करते हैं:

  • पुरालेख आवेदन
  • Ad-Hoc के लिए वितरित करें
  • प्रोविजनिंग प्रोफाइल चुनें
  • .Ipa को किसी फ़ोल्डर में सहेजें

लेकिन Xcode 6 के साथ , यह वर्कफ़्लो थोड़ा बदल गया था। मैं अभी भी Ad-Hoc वितरण विकल्प का चयन कर सकता हूं, लेकिन मैं वह प्रोविज़निंग प्रोफाइल नहीं चुन सकता जो मैं चाहता हूं। यह हमें कोई नियंत्रण नहीं देता है जिस पर हस्ताक्षर प्रमाण पत्र का उपयोग किया जाता है और प्रोविजनिंग प्रोफाइल कॉन्फ़िगरेशन (हम पुश नोटिफिकेशन का उपयोग करते हैं)।

डिफ़ॉल्ट रूप से iPhone distributionहस्ताक्षर करने वाली पहचान का उपयोग किया जाता है और किसी प्रकार का XC Ad Hocप्रोविजनिंग प्रोफाइल तैयार किया जाता है, जिसे नीचे दी गई छवि पर देखा जा सकता है: निर्यात आईपीए यदि आप प्रोविजनिंग प्रोफाइल के पास तीर पर क्लिक करते हैं, तो यह प्रोविज़निंग प्रोफाइल के साथ फ़ोल्डर को खोलता है।

तो मेरा सवाल है:

क्या Ad Hoc वितरण के साथ उपयोग किए जाने वाले प्रोविजनिंग प्रोफाइल को चुनने के लिए Xcode 6 में कोई तरीका है?

धन्यवाद!


किसी को पता है कि क्या यह तय किया गया है? पुश सूचनाओं का परीक्षण करने के लिए iOS 7 उपयोगकर्ताओं के लिए एक बिल्ड वितरित करने के लिए वैसे भी क्या है?
हूपमैन

Xcode 6 GM संस्करण का उपयोग करना, एक ही मुद्दा ...
क्रिस चेन

इसलिए हमारे पास अभी भी इसके लिए कोई अच्छा उपाय नहीं है? नीचे दिए गए जवाब मेरे लिए काम नहीं करते हैं। क्या हम XC प्रोविज़निंग प्रोफाइल का उपयोग कर सकते हैं ?? मैं सेब की समीक्षा के इंतजार में एक सप्ताह तक ढीले नहीं होना चाहता। साभार
मीलों एम।

2
मुझे आज यह समस्या थी और ऐसा लगता है कि Xcode केवल वितरण प्रोफाइल का उपयोग करता है जो आपके द्वारा ऑनलाइन पंजीकृत सभी उपकरणों का उपयोग करता है।
हैकिंगऑटर

1
गंभीरता से? हम प्रोविज़निंग फ़ाइल नहीं चुन सकते? मेरा मानना ​​है कि Yossarian रहता है।
अंजबरास 18

जवाबों:


52

मैं एक ही मुद्दे का सामना कर रहा था, कमांड लाइन "xcodebuild" टूल स्क्रिप्ट का उपयोग करके हल किया गया था, जिसे Xcode 6 के साथ स्थापित किया गया है (Xcode 5 को फिर से स्थापित करने की आवश्यकता नहीं है)।

http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/

टर्मिनल में स्क्रिप्ट:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile 'Provisioning Profile Name'

1
यह मेरे लिए काम करता है! अन्य उत्तरों के उपयोग xcodebuildमें -exportProvisioningProfileस्विच नहीं था ।
बनिहारो

6
ध्यान दें कि यह ठीक से काम नहीं करेगा यदि आपका ऐप किसी एक्सटेंशन, एम्बेडेड फ्रेमवर्क या लाइब्रेरी का उपयोग करता है।
क्लार्ककोक्स 3

4
इससे मुझे मदद मिली। धन्यवाद! इसलिए Apple XCode को भद्दा XC प्रोव प्रोफाइल जेनरेट करने के लिए अपडेट करता है लेकिन XCodeBuild के बारे में भूल जाता है। हम इस बार भाग्यशाली रहे। ओह! सेब हमें कैसे परेशान करता है!
kamyFC

1
मैं इसे स्वीकृत उत्तर के रूप में सेट कर रहा हूं। उत्तर सभी मामलों के लिए काम नहीं कर सकता है, लेकिन कुछ संशोधनों के साथ इस मुद्दे को हल करने के लिए xcodebuild का उपयोग किया जा सकता है (यह वही है जो हम अपने CI सर्वर पर कर रहे हैं)।
लेगलेस डेस

1
काश मैंने 3 घंटे पहले सीखा था कि xcodebuild अब ipa प्रारूप में भी निर्यात कर सकता है! मैंने उस समय को बर्बाद कर दिया, जिसमें दिए गए प्रोविज़निंग प्रोफाइल को एम्बेड करने के लिए xcrun प्राप्त करने की कोशिश कर रहा था, लेकिन यह सिर्फ Xcode पर काम नहीं करेगा। xcodebuild करता है! धन्यवाद।
ऑस्कर हायरो

31

द एप स्टोर में जमा करते समय मेरे पास एक समान मुद्दा था। मैंने एक आर्काइव बनाया, फिर "सबमिट" पर क्लिक किया और Xcode अपने आप डिफ़ॉल्ट "XC com। *" वाइल्डकार्ड के साथ साइन इन करना चाहता था।

इसे ठीक करने के लिए, मैंने Apple डेवलपर पोर्टल पर प्रोफ़ाइल को फिर से जेनरेट किया:

1) developer.apple.com पर जाएं और वितरण प्रावधान प्रोफाइल को ढूंढें जिसे आप उपयोग करना चाहते हैं।
2) इसे चुनें, "संपादित करें" पर क्लिक करें, प्रोफ़ाइल को फिर से नाम दें और "जनरेट" पर क्लिक करें।
3) डेस्कटॉप के लिए प्रोविजनिंग प्रोफाइल डाउनलोड करें और इसे Xcode 6 आइकन पर खींचें।
4) फिर से शुरू Xcode 6.
5) आयोजक विंडो खोलें और आपके द्वारा बनाए गए संग्रह पर "सबमिट करें" पर क्लिक करें। जेओडी के बजाय एक्सकोड स्वचालित रूप से आपकी स्पष्ट प्रोफ़ाइल चुन लेगा।


नमस्ते, क्या इस बदलाव के बारे में कुछ आधिकारिक बयान है?
फ्रैंक

मेरी जानकारी में नहीं। मैंने एक टेक्स्ट एडिटर में पुराने और नए प्रोफाइल की तुलना करके यह देखने की कोशिश की कि क्या मैं फॉर्मेट में बदलाव कर सकता हूं, लेकिन मुझे कुछ भी ध्यान नहीं आया
जिंजरब्रेडमैन

2
मुझे संदेह हुआ लेकिन इसने मेरे लिए काम किया। मैंने केवल Xcode 6 पर स्विच किया है और अपने पहले ad hoc build को आउटपुट करने का प्रयास किया है
Newtz

अब तक मैंने विकास प्रावधान प्रोफ़ाइल का उपयोग किया था। क्या यह अभी भी प्रयोग करने योग्य है या मुझे वितरण प्रोफ़ाइल बनाने की आवश्यकता है?
लेगलेस सेप

हाँ लेओगेस, आपको एक निर्यात करने के लिए एक वितरण प्रोफ़ाइल बनाने की आवश्यकता होगी। जब आपका डिवाइस आपके मैक से कनेक्ट हो जाए, तब भी आप डिबग करने के लिए डेवलपमेंट प्रोफाइल का उपयोग कर सकते हैं।
कोडबर्न

27

एक बार जब आप ऑर्गनाइज़र में होंगे

  • तदर्थ निर्माण का चयन करें और "निर्यात करें ..." पर क्लिक करें।
  • "विज्ञापन तदर्थ तैनाती के लिए सहेजें" का चयन करें -> अगला
  • ड्रॉप डाउन से एक संगठन का चयन करने के बजाय "स्थानीय हस्ताक्षरित संपत्ति का उपयोग करें" चुनें -> चुनें
  • निर्यात और सहेजें .ipa पहले की तरह।

बेशक आपको एड-हॉक प्रोविजनिंग प्रोफाइल को जेनरेट, डाउनलोड और इंस्टॉल करना होगा।


5
इस उत्तर और इस उत्तर के लिए समस्या को हल किया । प्रोविजनिंग प्रोफ़ाइल को एक स्पष्ट ऐप आईडी से जोड़ा जाना चाहिए, जो आपके ऐप के समान बंडल पहचानकर्ता का उपयोग करता है। वाइल्डकार्ड ऐप आईडी काम नहीं करेगा। फिर आपको एप्लिकेशन निर्यात करते समय "स्थानीय हस्ताक्षर संपत्ति का उपयोग करें" का चयन करने की आवश्यकता है।
सारा एलेन

@SarahElan दो उत्तरों को मिलाएं और एक नया लिखें ... धन्यवाद
YaBoiSandeep

मेरी राय और मेरे अनुभव के संबंध में, मुझे लगता है कि यह सबसे अच्छा जवाब है। धन्यवाद।
बसम सादावी

17

ऐसा लगता है कि पिछली बार की गई प्रोविज़निंग प्रोफाइल अभी जीतती है। तो आप बस उस प्रोफाइल को फिर से जनरेट कर सकते हैं जिसे आप चाहते हैं और इसे डाउनलोड करें और Xcode इसका उपयोग करेगा।

थोड़ा बेहतर तरीका: अपने लक्ष्य में वांछित साबित प्रोफ़ाइल सेट करें और अपने आईपीए के निर्माण के लिए कमांड लाइन का उपयोग करें, वह भी काम करता है।

यहाँ स्क्रिप्ट है, मैं उपयोग कर रहा हूँ:

#!/bin/sh

# Current as working as of 2014/09/22
# Xcode 6

OUTPUTDIR="$HOME/build"
APPNAME="your-app"
SCHEME="your-app"
APP_WORKSPACE="$HOME/Path/To/your-app.xcworkspace"

rm "$OUTPUTDIR/$APPNAME.ipa" #deletes previous ipa
xcodebuild -workspace "$APP_WORKSPACE" -scheme "$SCHEME" archive -archivePath "$OUTPUTDIR/$APPNAME.xcarchive"
xcodebuild -exportArchive -exportFormat ipa -archivePath "$OUTPUTDIR/$APPNAME.xcarchive" -exportPath "$OUTPUTDIR/$APPNAME.ipa" 

और मेरी सेटिंग्स:

Xcode सेटिंग्स


क्या कोई आसान तरीका है?
तैमूर बर्निकोविच

मुझे लगता है कि यह क्योंकि macOS 10.0 है। अभी भी बीटा में है
तैमूर बर्निकोविच

1
XC Ad Hoc प्रोफाइल का उपयोग करने में समस्या यह है कि वे हमेशा सभी उपकरणों को शामिल करते हैं - कुछ उपकरणों को अक्षम करने का विकल्प निकालते हैं जिन्हें आप मैन्युअल प्रोफाइल के साथ कर सकते हैं।
जॉनी

XC Ad Hoc प्रोफाइल केवल एक उदाहरण है। आप जो भी प्रोफाइल पसंद करते हैं उसका उपयोग कर सकते हैं।
टॉरस्टेन

आपको '.ipa' एक्सटेंशन को -exportPath से हटा देना चाहिए, क्योंकि यह पहले से ही xcodebuild द्वारा स्वचालित रूप से जोड़ा गया है।
ऑस्कर हाइरो

8

मैं इसका पता नहीं लगा सका- AppStore में जमा करते समय इसे थोड़ा सा मिल गया, जहां यह वाइल्डकार्ड प्रोफ़ाइल के लिए डिफ़ॉल्ट था।

मैंने Xcode 6 में इमारत का निर्माण किया, फिर सबमिशन के लिए Xcode 5 के ऑर्गनाइज़र विंडो पर वापस जा रहा था। इस तरह यह आपको साइन इन करने के लिए प्रोफ़ाइल चुनने के लिए प्रेरित करेगा।


यह मैं जो काम कर रहा हूं। लेकिन मैं वास्तव में अब Xcode 5 से छुटकारा पाना चाहता हूं। मैं अब xcrun और कमांड लाइन का उपयोग करने के बारे में सोच रहा हूं।
लेगलेस सेस

मैंने सभी सुझाए गए समाधानों की कोशिश की, जो मुझे मिला, फिर भी यह एकमात्र ऐसा है जो वास्तव में काम करता है।
हंटर डीआरएफ

8

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

btw, उपयोग स्क्रिप्ट निर्यात और testflight के लिए अपलोड कर सकते हैं, लेकिन डिवाइस बस इसे डाउनलोड नहीं कर सकते। शायद कहीं न कहीं मैं गलत था। अगर किसी को पता है कि यह क्यों है, तो कृपया मुझे बताएं। टी.के.एस


धन्यवाद! इसने मेरे लिए चाल चली। मैंने सभी उपकरणों को शामिल करने के लिए प्रोफ़ाइल को संपादित किया, ऐप को फिर से संग्रहीत किया, और वायोला, इसने सही प्रोफ़ाइल का उपयोग किया।
एरिक विलेगास

यह वास्तव में यह है और यह मेरे लिए एक बग की तरह लगता है या अब जब कि Apple ने बीटा वर्जन वितरित करने के लिए TestFlight को पेश किया है तो AdHoc वितरण को उचित ध्यान नहीं मिला। मेरे साथ जो हुआ वो सिर्फ @AlexHsieh का वर्णन है; मैंने अपनी प्रोविज़निंग प्रोफ़ाइल बनाई, जैसा कि मैंने पहले हमेशा किया है, अपने सभी पंजीकृत उपकरणों का केवल एक सबसेट चुना और जब मैंने आईपीए जेनरेट करने की कोशिश की, तो एक्सकोड को कोई भी प्रोविज़निंग प्रोफ़ाइल्स नहीं मिली और उसने इस ऑटो-जेनरेटेड एक्ससी वन (जो) का उपयोग करने की कोशिश की मेरे मामले में भी असफल)। फिक्सिंग में मेरे सभी पंजीकृत उपकरणों को प्रोविजनिंग प्रोफाइल में जोड़ना था।
jjramos

7

यह मेरे लिए काम किया:

  1. ".. एक विकास टीम का चयन करें .." संवाद के भीतर "खाते देखें .." पर क्लिक करें।
  2. "विवरण देखें .." पर क्लिक करें और XC Ad Hoc प्रोविज़निंग प्रोफ़ाइल ढूंढें।
  3. उस प्रोफाइल पर राइट क्लिक करें और "शो इन फाइंडर" चुनें।
  4. चयनित प्रोफ़ाइल हटाएं।
  5. चरण 1 में संवाद पर वापस जाएं।
  6. "चुना" पर क्लिक करें।
  7. प्रोविजनिंग प्रोफाइल डायरेक्टरी खोलने के लिए प्रोविजनिंग प्रोफाइल के पास तीर पर क्लिक करें।
  8. चरण 4 में फिर से जेनेरिक प्रोफ़ाइल हटाएं।
  9. "भेजें [अनुप्रयोग का नाम] से Apple:" संवाद के लिए "पिछला" बटन पर क्लिक करें।
  10. फिर से चुनें "सेव फॉर एड हॉक डिप्लॉयमेंट
  11. फिर से "चुनें" बटन पर क्लिक करें।

अब आपको सही प्रोविज़निंग प्रोफाइल नाम देखना चाहिए।


मैंने पहली कोशिश नहीं की। लेकिन इसने मेरे लिए काम किया। धन्यवाद। =]
ग्लूको नेव्स

5
मेरे लिए काम नहीं किया। चरण 4 और 8 में प्रोफ़ाइल हटाने के बाद भी, प्रोफ़ाइल पुनः निर्मित हो जाती हैं और चरण 11 में स्वचालित रूप से फिर से चयनित हो जाती हैं
चुन

1
मेरे लिए काम नहीं करता है क्योंकि हर बार मुझे एक खाता चुनने के लिए क्लिक करना पड़ता है (मेरे पास अपने ग्राहकों को एप्लिकेशन देने के लिए कई खाते हैं) XC जेनरेट की गई प्रोफ़ाइल को फिर से बनाया गया है। Apple से PITA।
wuf810

मुझे लगता है कि XCode 6 के साथ इन चरणों का पालन करने से पहले, आपको अपने Apple डेवलपर खाते से XC: * प्रोविज़निंग प्रोफाइल को हटाना चाहिए। चरण 4 के बाद, मैं वापस विवरण विवरण संवाद पर जाऊंगा और उन XC को सुनिश्चित करने के लिए रिफ्रेश बटन दबाऊंगा: * प्रोफाइल अब नहीं हैं। इसके अलावा, यह सुनिश्चित करने के लिए कि आप सही प्रोफ़ाइल का चयन करते हैं, थोरस्टेन की बिल्ड सेटिंग्स का उपयोग करें। मेरे लिए दो बार काम किया।
Android Noob

मेरे पास @Chun और (@) wuf810 जैसा ही मुद्दा था। उन लानत .mobileprovisions बनाए रखने के लिए। मैंने जो किया वह "प्रोविज़निंग प्रोफाइल" डायरेक्टरी विंडो को खुला रखना था और बस (@) user3382891 से .Mobileprovision रिकॉर्ड्स को तेजी से हटाते हुए वे फिर से चल रहे थे। आखिरकार Xcode ने मेरी सही प्रोविजनिंग प्रोफ़ाइल को चुना। अब मैं अगली समस्या पर आता हूं ...
kris

6

मेरे पास इसके लिए एक वर्कअराउंड है जो मेरे लिए काम करता है।

मेरे पास Xcode 6 और Xcode 5.1.1 दोनों स्थापित हैं, Xcode 6 अनुप्रयोग में है और Xcode 5.1.1 अन्य निर्देशिका में है। जब मैं एक निर्माण करना चाहता हूं तो मैं पुरालेख बनाने के लिए Xcode 6 का उपयोग करता हूं। लेकिन आप बनाए गए संग्रह को Xcode 5.1.1 में भी देख सकते हैं, इसलिए मैं उस प्रावधान प्रोफ़ाइल का उपयोग करके Ad Hoc .ipa को वितरित करने के लिए Xcode 5.1.1 का उपयोग करता हूं जिसे मैं उपयोग करना चाहता हूं। तो Xcode 6 का उपयोग कर निर्माण करें लेकिन Xcode 5.1.1 का उपयोग करके वितरित करें।


मैं इस तरह से testflight के लिए बिल्ड अपलोड करने में सक्षम नहीं हूं।
हार्डिक हडवानी

यदि आप निर्माण और वितरण के लिए एक ही प्रावधान प्रोफ़ाइल का उपयोग कर रहे हैं, तो आपको इस तरह से परीक्षण उड़ान के लिए अपना निर्माण अपलोड करने में सक्षम होना चाहिए। डबल जांचें कि आप जिस प्रोफ़ाइनल प्रोफ़ाइल का उपयोग भवन निर्माण के लिए कर रहे हैं वह वही है जो आप वितरण के लिए उपयोग कर रहे हैं।
एडम फ्रीमैन

4

निर्यात करते समय स्थानीय हस्ताक्षर वाली परिसंपत्तियों का उपयोग करना मेरे लिए समस्या का समाधान करता है:यहाँ छवि विवरण दर्ज करें


3

@MrPatol का जवाब मेरे काम नहीं आया। Xcode 6.3.2 के लिए मेरा कार्य परिदृश्य

सदस्य केंद्र में -> iOS प्रोविजनिंग प्रोफाइल

  • प्रोविजनिंग प्रोफ़ाइल हटाएं जो डिफ़ॉल्ट रूप से तब सेट की गई थी जब आप ऐप बनाने की कोशिश कर रहे थे (जैसे "XC ...")। एक संक्षिप्त नाम के साथ एक तदर्थ प्रावधान प्रोफ़ाइल (उत्पादन नहीं) बनाएँ।

IPhone कॉन्फ़िगरेशन उपयोगिता में -> प्रोविज़निंग प्रोफाइल

  • समान प्रावधान प्रोफ़ाइल हटाएं (उदाहरण के लिए "XC ...")

Xcode में -> आयोजक

  • तदर्थ निर्माण का चयन करें और "निर्यात करें ...." पर क्लिक करें "विज्ञापन तदर्थ तैनाती के लिए सहेजें" -> अगला चुनें
  • ड्रॉप डाउन से एक संगठन का चयन करें
  • जांचें कि आपका नया तदर्थ प्रोविजनल प्रोफाइल अपने आप चयनित है
  • निर्यात और सहेजें .ipa पहले की तरह।

2

यहां दो प्रमुख बिंदु दिए गए हैं जो मेरे लिए समस्या को हल करते हैं।

  • जब आप प्रोविज़निंग प्रोफाइल बनाते हैं, तो उसे एक स्पष्ट ऐप आईडी से जोड़ा जाना चाहिए आपके ऐप के समान बंडल पहचानकर्ता का उपयोग करता है। वाइल्डकार्ड ऐप आईडी काम नहीं करेगा।
  • जब आप एड-हॉक परिनियोजन के लिए एप्लिकेशन को निर्यात करते हैं, तो ड्रॉपडाउन में स्थानीय हस्ताक्षरित संपत्ति का उपयोग करें चुनें और चुनें पर क्लिक करें।

Xcode तब ऐप के बंडल पहचानकर्ता के साथ ऐप आईडी का मिलान करके सही प्रोविज़निंग प्रोफ़ाइल ढूंढेगा।


1

वास्तव में, आपको एक नई वितरण प्रोफ़ाइल बनाने की आवश्यकता है, जो तदर्थ तैनाती के लिए विशिष्ट है। यह क्लासिक सदस्य केंद्र में पाया जा सकता है, लेकिन यह एक नए प्रकार का प्रमाण पत्र है।

आप तब चुन सकते हैं कि एप्लिकेशन को परीक्षण करने के लिए किन उपकरणों का उपयोग किया जा सकता है, क्योंकि डेवलपर प्रोफाइल के साथ क्या करेगा।

और जब आप आयोजक से अपने पैकेज को सामान्य तरीके से निर्यात करेंगे तो नया सर्टिफिकेट उपलब्ध होगा।

वैकल्पिक रूप से आप Apple द्वारा iOS 8 के साथ प्रदान किए गए TestFlight समाधान का उपयोग कर सकते हैं ताकि आपके उपयोगकर्ता को प्रीलेयर तक पहुंच मिल सके।

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


हां लेकिन जैसा कि आप बताते हैं कि इसका मतलब केवल iOS8 है। Apple विशेष रूप से केवल iOS8 के लिए Testflight उपयोगकर्ताओं को मजबूर कर रहा है। एक अच्छे समय के लिए अभी तक सबसे बड़ा स्थापित आधार अभी भी iOS7 होगा, इसलिए सेब को इसके लिए अनुमति देनी चाहिए।
14

1

मुझे एक ही समस्या थी, आखिरकार मैंने इसे उस प्रोफाइल को पुन: बनाने के लिए हल कर लिया जिसे मैं Xcode 6 में उपयोग करना चाहता था, जिसमें मैंने अपने iOS देव खाते पर पंजीकृत सभी उपकरणों को भी शामिल किया था, इस तरह से करते हुए, निर्यात का चयन करते समय यह सही प्रोफ़ाइल दिखाता है और मैं एक स्क्रिप्ट का उपयोग किए बिना Xcode 6 के साथ Ad Hoc एक्सपोर्ट कर सकते हैं। आशा करता हूँ की ये काम करेगा।


1
यह काम करता है, लेकिन केवल अगर आप प्रोविजनिंग प्रोफाइल के साथ ठीक हैं, जिसमें आपके iOS देव खाते से पंजीकृत सभी डिवाइस हैं। प्रोविजनिंग प्रोफ़ाइल में केवल उपकरणों के एक उपसमूह का उपयोग करने के लिए मुझे इस तकनीक का उपयोग करना था: stackoverflow.com/a/26296138/71262
ओरान डेनिसन

0

मैं इस के साथ थोड़ी देर के लिए अटक गया है, लेकिन का उपयोग कर क्रैशलाईटिक्स इसे हल किया, अपने Xcode प्रोजेक्ट की बिल्ड सेटिंग्स में चयनित प्रोफ़ाइल का उपयोग करके वितरित किया।

आशा है कि यह किसी की मदद करता है।


0

लगभग यही समस्या है। वितरण के लिए एक संग्रह बनाने के बाद (उत्पाद> पुरालेख) आप संग्रह को निर्यात करते हैं (निर्यात पर क्लिक करें ...) और "एंटरप्राइज़ परिनियोजन के लिए सहेजें" चुनें; फिर आगे"। फिर आप "विकास टीम" डिफ़ॉल्ट (जैसे संगठन का नाम) का चयन करें और "चुनें" पर क्लिक करें। अंत में आपको एक सारांश दृश्य के साथ प्रस्तुत किया जाएगा जो उस प्रोविज़निंग प्रोफाइल को भी सूचीबद्ध करता है जो आपके लिए Xcode स्वचालित रूप से मिली है (शायद ऑन-द-फ्लाई)। यह गलत प्रोविज़निंग प्रोफाइल (आमतौर पर वाइल्डकार्ड प्रोविज़निंग प्रोफाइल, जैसे "XC: *") हो सकता है और MIGHT हो रहा है क्योंकि पहले से ही डेवलपर पोर्टल पर वाइल्डकार्ड प्रोविज़निंग प्रोफ़ाइल है।

मैंने इसके लिए एक समर्थन टिकट का उपयोग किया और केवल इस लिंक को वापस पाएं https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP/4008282 -CH32-SW1 । वास्तव में एक बड़ी मदद नहीं।

मैंने पाया है कि MrPatol का समाधान एंटरप्राइज़ परिनियोजन के लिए भी काम करता है और हमारे लिए समस्या हल करता है। मैंने पहले डेवलपर पोर्टल में लॉग इन किया और मैन्युअल रूप से एक प्रोविज़निंग प्रोफाइल बनाया जो मेरे ऐप के अनुकूल था। फिर नए और मैन्युअल रूप से बनाए गए प्रोविजनिंग प्रोफाइल को डाउनलोड और इंस्टॉल किया।


0

Xcode 7 में, मैं एडहॉक प्रोविजनिंग को चुन नहीं सका

आयोजक -> ऐप स्टोर पर अपलोड करें और आयोजक -> मान्य करें

लेकिन मैं ऑर्गनाइज़र -> एक्सपोर्ट के जरिए चुन सकता था

संपादित:

TestFlight के लिए ऐप स्टोर में एडहॉक के लिए निर्यात करने के बाद ऐप को अपलोड करने से यहां एक और मुद्दे पर चर्चा हुई । तो, इन दोनों समस्याओं का समाधान एक है। AppStore बनाने का प्रावधान करें इसे आयोजक के माध्यम से लेने में सक्षम हों और appstore पर अपलोड करके testFlight का उपयोग करें।


0
  1. मुझे लगता है कि यह Xcode 7. के बाद एक -exportOptionsPlist विकल्प निर्दिष्ट करने का एक सही तरीका है। यह GUI निर्यात में सही प्रावधान वाली फ़ाइलों का चयन करेगा, चाहे आप प्रोजेक्ट सेटिंग में निर्दिष्ट करें।

xcodebuild -exportArchive -archivePath $ Archive_Path -exportPath $ LOCAL_PACKAGE_DIR -exportOptionsPlist $ Export_Plist_Path

विकल्प सूची फ़ाइल इस प्रकार है,

<dict>
  <key>teamID</key>
        <string>MYTEAMID123</string>
        <key> teamID </key>
        <string>app-store</string>
        <key>uploadSymbols</key>
        <true/>
</dict>


<plist>

ऐप-स्टोर, उद्यम, तदर्थ, विकास वैकल्पिक हैं

  1. लेकिन आप ऊपर के बाद एक और त्रुटि को पूरा कर सकते हैं।

त्रुटि डोमेन = IDEDistributionErrorDomain कोड = 14 "कोई लागू उपकरण नहीं मिले।" UserInfo = {NSLocalizedDescription = कोई लागू उपकरण नहीं मिला।}

यह एक माणिक समस्या है। इस शेल स्क्रिप्ट को आज़माएं,xcbuild-safe.sh

xcbuild-safe.sh xxxxNormalOptionsInXcodebuild bla...
  1. एक पल के लिए रुकिए, एक और अजीब त्रुटि आती है।

xcbuild-safe.sh: पंक्ति 62: shell_session_update: कमांड नहीं मिली

आखिर क्या है shell_session_update? हमें इसके चारों ओर काम करते हैं। बस वास्तविक xcodebuild cmd से पहले एक फ़ंक्शन को परिभाषित करें, अर्थात् लाइन 60 या 61 पर।

function shell_session_update() { :; }

-4

आपके विशिष्ट प्रश्न के उत्तर में, उपयोग किए जाने वाले प्रोविजनिंग प्रोफाइल को चुनने का कोई तरीका नहीं है। आप क्या करने का प्रयास कर रहे हैं? (यानी वह प्रोफ़ाइल क्या है जिसे आप चुनना चाहते हैं कि स्वचालित रूप से जेनरेट नहीं होता है?)


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

निश्चित रूप से उपयोग किए जाने वाले प्रोविजनिंग प्रोफाइल को चुनने का एक तरीका है। stackoverflow.com/a/26296138/71262
ओरान डेनिसन

1
@ लोप यदि किसी क्लाइंट के पास आपकी कोई ऐप है और संबंधित प्रोफ़ाइल स्थापित है, तो वे आपके किसी भी ऐप को स्थापित कर सकते हैं (भले ही अन्य ऐप के प्रोफाइल में उनका डिवाइस न हो)। यह भ्रम प्राथमिक कारणों में से एक है कि हम डेवलपर्स को अपने प्रोफाइल और डिवाइस सूचियों को मैन्युअल रूप से निर्दिष्ट करने से दूर जाना चाहते हैं। (यानी बहुत से लोग सुरक्षा के झूठे अर्थ पर भरोसा करना चाहते हैं क्योंकि प्रोफाइल को मैन्युअल रूप से निर्दिष्ट करने की उनकी प्राथमिक वजह है)
क्लार्कॉक्स 3

@ क्लार्ककोक्स 3 अच्छी तरह से और भी बदतर है, मैं ग्राहक को एक दूसरे के ऐप को देखने में सक्षम होने से बचाना चाहता हूं
लोप

@ लोप: मुझे तदर्थ आईपीए फाइलों को वितरित करने के तरीके के बारे में पता नहीं है, जो आपके सभी एप्लिकेशन को आपके परीक्षकों के लिए उपलब्ध कराएगा। दूसरे शब्दों में, आपको अपने परीक्षकों को स्पष्ट रूप से प्रदान करना होगा कि आप उन्हें जिस ऐप का परीक्षण करना चाहते हैं, वह सही है? यह शारीरिक अलगाव उन्हें किसी अन्य एप्लिकेशन का उपयोग करने से रोक देगा। (ऐसा नहीं है कि वे स्टोर पर जा सकते हैं और उन सभी को प्राप्त कर सकते हैं, हाँ?) क्या कोई अन्य तरीका है जिसमें आपके परीक्षक आपकी अनुमति के बिना आपके सभी एप्लिकेशन तक पहुंच प्राप्त कर सकते हैं ???
दुबला
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.