दिलचस्प पोस्ट
AnimationDrawable का उपयोग करते हुए मैं फ्रेम एनीमेशन कैसे रोकूं? क्या प्रत्येक ivar एक संपत्ति होनी चाहिए? इस प्रमाण पत्र में एक अमान्य जारीकर्ता है: चाबी का निशान सभी प्रमाणपत्रों को "अमान्य जारीकर्ता" के रूप में चिह्नित करता है एजेक्स अनुरोध के साथ प्रगति की प्रगति दिखा रहा है डेटा बदलने के बाद कर्सर लोडर अपडेट नहीं हो रहा है बूटस्ट्रैप 3 को ग्लाइफिकॉन को ठीक से प्रदर्शित करने में असमर्थ जेफ्रीचर्ट कैंडेस्टेस्ट चार्ट खींचें पर अजीब व्यवहार एल्गोरिथ्म सभी संभव स्ट्रिंग संयोजनों को सरणी से निश्चित लंबाई तक प्राप्त करने के लिए बहुत अधिक फ़ील्ड संदर्भ: 70613; मैक्स 65536 है पृष्ठभूमिवर्कर बनाम पृष्ठभूमि थ्रेड मैं एक बटन पर ड्रॉएबल कैसे हट सकता हूं? सूची दृश्य (एंड्रॉइड) के लिए एक ऑनक्लिकलिस्टर जोड़ना URL का पैरामीटर जोड़ें / बदलें और नए URL पर रीडायरेक्ट करें स्केलेक पर VZEROUPPER के बिना यह एसएसई कोड 6 गुना धीमा क्यों है? पृष्ठभूमि में तेज NSTimer

पुनः साइन इन आईपीए (आईफोन)

मैं वर्तमान में हडसन के साथ अपने सभी अनुप्रयोगों का निर्माण कर रहा हूं xcodebuild का उपयोग करके किसी भी समस्या के बिना एक्सक्रिन के बाद

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

मेरी समस्या यह है कि जब मैं ऐप को इस्तीफा देने की कोशिश करता हूं, तो यह मेरे डिवाइस पर इंस्टॉल नहीं होगा (और यह तब चाहिए जब से यह एंटरप्राइज़ बिल्ड है)। त्रुटि संदेश डिवाइस पर है (iTunes में नहीं) और यह मुझे बस बताता है कि यह ऐप इंस्टॉल नहीं कर सका। कोई और जानकारी नहीं दी गई है

मुझे कुछ जानकारी मिली है, ( http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for- अपलोड करें / )

और यह संभव हो सकता है मैं जो समस्या का सामना कर रहा हूं वह यह है कि यह मोबाइल प्रावधान प्रोफ़ाइल को एम्बेड करने में प्रतीत नहीं होता जैसा कि मैं अपने सामान्य निर्माण के साथ करता हूं (xcrun का उपयोग करना) को कोड्सइन उपकरण से नियंत्रित करना संभव है, या क्या एक्सक्रॉन के साथ फिर से साइन-इन करना संभव है ?

मेरे इस्तीफा स्क्रिप्ट के साथ मैं वर्तमान में कर रहा हूँ

  • ऐप खोलें। एपीए
  • ऐपनाम = $ (एलएस पेलोड)
  • xcrun -sdk iphoneos पैकेज एिप्लकेशन- "$ प्रोविजनिंग_प्रोफाइल" "$ project_dir / payload / $ appname" -अ "$ project_dir / app-resigned.ipa" –sign "$ provisioning_profile" –एम्बेड "$ mobileprovision"

मैंने परिणामस्वरूप आईपीए फ़ाइल में देखा है और यह मूल ऐप के समान ही है। क्या फाइल वास्तव में यहां बदलनी चाहिए? मैंने शुरू में सोचा था कि _CodeSignature / CodeResources बदल जाएगा, लेकिन सामग्री बहुत ज्यादा ठीक उसी तरह दिखती है।

सूचक बहुत सराहना कर रहे हैं

Solutions Collecting From Web of "पुनः साइन इन आईपीए (आईफोन)"

अंत में यह काम मिला!

प्राइवेटिंग प्रोफ़ाइल में जोड़े गए उपकरणों के साथ ऐप स्टोर प्रस्तुत करने के लिए प्रमाण 1 के साथ हस्ताक्षरित आईपीए के साथ परीक्षण किया गया। एंटरप्राइज़ खाते के साथ हस्ताक्षर किए गए एक नए आईपीए में परिणाम और होम परिनियोजन के लिए एक मोबाइल प्रावधान प्रोफाइल (मोबाइल प्रावधान प्रोफ़ाइल आईपीए में एम्बेड हो जाती है)।

उपाय:

आईपीए अनझिप करें

unzip Application.ipa 

पुराने कोड निकालना निकालें

 rm -r "Payload/Application.app/_CodeSignature" "Payload/Application.app/CodeResources" 2> /dev/null | true 

एम्बेडेड मोबाइल प्रोविजनिंग प्रोफ़ाइल को बदलें

 cp "MyEnterprise.mobileprovision" "Payload/Application.app/embedded.mobileprovision" 

पुन: संकेत

 /usr/bin/codesign -f -s "iPhone Distribution: Certificate Name" --resource-rules "Payload/Application.app/ResourceRules.plist" "Payload/Application.app" 

पुन: पैकेज

 zip -qr "Application.resigned.ipa" Payload 

संपादित करें: एंटाइटेलमेंट भाग को हटा दिया गया (एलीज़ टिप्पणी देखें, धन्यवाद)

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

—– आईओएस ऐप को कैसे इस्तीफा दें —–

मान लें कि आपको किसी अन्य डेवलपर से ऐप (जैसे MyApp.ipa) प्राप्त होता है, और आप इसे अपने डिवाइस पर स्थापित और चलाने के लिए सक्षम होना चाहते हैं (उदाहरण के लिए ideviceinstaller का उपयोग करके)।

नई साइनिंग एसेट्स तैयार करें

पहला कदम एक प्रावीज़िंग प्रोफ़ाइल प्राप्त करना है जिसमें सभी उपकरणों को शामिल करना है जिन्हें आप इंस्टॉल करना चाहते हैं और चलाना चाहते हैं। यह सुनिश्चित करें कि प्रोफाइल में एक प्रमाणपत्र है जिसे आपने अपने चाबी का उपयोग (जैसे iPhone डेवलपर: कुछ बॉडी (XXXXXXXXXX)) में स्थापित किया है। प्रोफ़ाइल डाउनलोड करें (MyProfile.mobileprovision) ताकि आप ऐप में एम्बेडेड प्रोफ़ाइल को बदल सकें।

इसके बाद, हम हस्ताक्षर में शामिल करने के लिए एक एंटाइटेलमेंट फ़ाइल तैयार करने जा रहे हैं। अपना टर्मिनल खोलें और निम्नलिखित को चलाएं।

 $ security cms -D -i path/to/MyProfile.mobileprovision > provision.plist 

यह आपके प्रावधान प्रोफ़ाइल का वर्णन करने वाला एक XML फ़ाइल बनाएगा I इसके बाद, हम एक फ़ाइल में एंटाइटेलमेंट को निकालना चाहते हैं।

 $ /usr/libexec/PlistBuddy -x -c 'Print :Entitlements' provision.plist > entitlements.plist 

प्रावधान प्रोफ़ाइल और इस्तीफा दें ऐप बदलें

यदि आप .ipa फ़ाइल के साथ काम कर रहे हैं, पहले, ऐप खोलें (यदि आपके पास .app की बजाय, आप इस चरण को छोड़ सकते हैं)।

 $ unzip MyApp.ipa 

आपकी कार्यशील निर्देशिका में अब Payload/MyApp.app/ और Payload/MyApp.app/ शामिल होंगे अगला, पुराने कोड हस्ताक्षर फ़ाइलों को हटा दें।

 $ rm -rf Payload/MyApp.app/_CodeSignature 

अपने खुद के साथ मौजूदा प्रावधान प्रोफ़ाइल (यानी एम्बेडेड। मोबाइल प्रोजेक्शन) बदलें।

 $ cp path/to/MyProfile.mobileprovision Payload/MyApp.app/embedded.mobileprovision 

अब अपने प्रावधान प्रोफाइल और एंटाइटेलमेंट में शामिल प्रमाण पत्र के साथ ऐप पर हस्ताक्षर करें।

 $ /usr/bin/codesign -f -s "iPhone Developer: Some Body (XXXXXXXXXX)" --entitlements entitlements.plist Payload/MyApp.app 

महत्वपूर्ण: आपको एप में शामिल सभी ढांचे को भी इस्तीफा देना चाहिए । आप इन Payload/MyApp.app/Frameworks यदि ऐप स्विफ्ट में लिखा गया है या इसमें कोई अतिरिक्त चौखटे शामिल हैं, तो इन्हें इस्तीफा देना चाहिए या ऐप इंस्टॉल हो जाएगा, लेकिन रन नहीं होगा।

 $ /usr/bin/codesign -f -s "iPhone Developer: Some Body (XXXXXXXXXX)" --entitlements entitlements.plist Payload/MyApp.app/Frameworks/* 

अब आप ऐप को फिर से कर सकते हैं

 $ zip -qr MyApp-resigned.ipa Payload 

किया हुआ

अब आप Payload निर्देशिका को निकाल सकते हैं क्योंकि आपका मूल ऐप (MyApp.ipa) और आपका इस्तीफा देने वाला संस्करण (MyApp-resigned.ipa) है। अब आप अपने प्रोविजनिंग प्रोफाइल में शामिल किसी भी डिवाइस पर MyApp-resigned.ipa को स्थापित कर सकते हैं।

मैंने सफलतापूर्वक इस उत्तर का पालन किया, लेकिन जब से एंटाइटेलमेंट बदले गए हैं, तो मैंने अंतिम वक्तव्य के लिए --entitlements "Payload/Application.app/Entitlements.plist" भाग को हटा दिया, और यह एक जादू की तरह काम किया।

धन्यवाद, एरिक, यह पोस्ट करने के लिए। यह मेरे लिए काम किया मैं एक अतिरिक्त कदम के बारे में एक नोट जोड़ना चाहता हूं, जिसकी मुझे जरूरत थी। "पेलोड / एप्लिकेशन. app /" के भीतर " CacertChains " नामक एक निर्देशिका थी जिसमें " cacert.pem " नामक एक फ़ाइल थी। इन चरणों को पूरा करने के लिए मुझे डाइरेक्टरी और .pem को निकालना पड़ा। एक बार फिर धन्यवाद! –

फास्टलेन उच्छ्वास के इस्तीफे के विकल्प के साथ आप इसे बहुत आसानी से कर सकते हैं

 sigh resign -p <path-to-profile-with-mobileprovision-ext> -i <code-sighning-identity-of-your-app> 

आप कमांड के ठीक पहले ही उच्छ्वास का उपयोग कर प्रोफ़ाइल डाउनलोड कर सकते हैं।

इनमें से कोई भी इस्तीफा देने वाला मेरे लिए काम नहीं कर रहा था, इसलिए मुझे कुछ और काम करना पड़ा।

मेरे मामले में, मेरे पास एक समयसीमा समाप्त प्रमाणपत्र के साथ एक आईपीए था। मैं ऐप को फिर से तैयार कर सकता था, लेकिन क्योंकि हम यह सुनिश्चित करना चाहते थे कि हम एक ही संस्करण (केवल एक नया प्रमाणपत्र) के वितरण कर रहे थे, हम इसे फिर से बनाना नहीं चाहते थे।

अन्य उत्तरों में उल्लिखित इस्तीफे के तरीके के बजाय, मैंने एक आईपीए बनाने की Xcode की पद्धति को बदल दिया, जो कि निर्माण से एक्सक्शीरिव के साथ शुरू होता है।

  1. मैंने एक मौजूदा। Xcarchive को दोहराया और सामग्री को बदलना शुरू कर दिया। (मैं .dsym फ़ाइल की उपेक्षा की।)

  2. मैंने पुरानी आईपीए फाइल से पुराने ऐप को निकाला (अनजिपिंग के माध्यम से; एप ही पेलोड फ़ोल्डर में एकमात्र चीज़ है)

  3. मैंने इस ऐप को नए .xcarchive में ले जाया गया, Products/Applications तहत ऐप जो जगह में था।

  4. मैं Info.plist संपादित, संपादन

    • ApplicationProperties/ApplicationPath
    • ApplicationProperties/CFBundleIdentifier
    • ApplicationProperties/CFBundleShortVersionString
    • ApplicationProperties/CFBundleVersion
    • Name
  5. मैंने एक्सकोड के संग्रह फ़ोल्डर में .xcarchive, आमतौर पर /Users/xxxx/Library/Developer/Xcode/Archives स्थानांतरित कर दिया।

  6. Xcode में, मैंने आयोजक विंडो खोल दी, यह नया संग्रह उठाया और नियमित रूप से (इस मामले में Enterprise) निर्यात किया

नतीजा यह अच्छा आईपीए था जो काम करता है।

यदि आपके पास विस्तार और / या एक घड़ी ऐप वाला ऐप है और आपके पास प्रत्येक एक्सटेंशन / घड़ी ऐप के लिए एकाधिक प्रोविज़िगेशन प्रोफाइल हैं, तो आपको आईपीए फाइल पर पुनः हस्ताक्षर करने के लिए इस स्क्रिप्ट का उपयोग करना चाहिए।

गिथूब में स्क्रिप्ट पर पुनः हस्ताक्षर

इस स्क्रिप्ट का उपयोग करने का एक उदाहरण यहां दिया गया है:

 ./resign.sh YourApp.ipa "iPhone Distribution: YourCompanyOrDeveloperName" -p <path_to_provisioning_profile_for_app>.mobileprovision -p <path_to_provisioning_profile_for_watchkitextension>.mobileprovision -p <path_to_provisioning_profile_for_watchkitapp>.mobileprovision -p <path_to_provisioning_profile_for_todayextension>.mobileprovision resignedYourApp.ipa 

आप दूसरे एक्सटेंशन प्रोविजनिंग प्रोफाइल को एक और -p विकल्प के साथ जोड़कर भी शामिल कर सकते हैं।

मेरे लिए – सभी प्रावधान प्रोफाइल उसी प्रमाणपत्र / हस्ताक्षर की पहचान के द्वारा हस्ताक्षर किए गए थे।