मैं US $ 99 Apple प्रमाणपत्र के बिना Xcode से वास्तविक iPhone डिवाइस पर iPhone एप्लिकेशन को कैसे लागू कर सकता हूं?
मैं US $ 99 Apple प्रमाणपत्र के बिना Xcode से वास्तविक iPhone डिवाइस पर iPhone एप्लिकेशन को कैसे लागू कर सकता हूं?
जवाबों:
ऐसा लगता है कि एप्लिकेशन साइन नहीं है। Cydia से ldid डाउनलोड करें और फिर इसे इस तरह उपयोग करें:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
यह भी सुनिश्चित करें कि बाइनरी को निष्पादन योग्य के रूप में चिह्नित किया गया है: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
: मैं दो howtos का मिश्रण का उपयोग किया है जेसन के और एलेक्स के । दूसरे के साथ हमें डिबग करने में सक्षम होने का फायदा है। मैं ज्यादातर सिर्फ दोनों को कॉपी करूँगा (और एलेक्स को सरल करूँगा):
अद्यतन जनवरी 2012: यह अभी भी एसडीके 4.2.1 और आईओएस 5.0.1 पर काम करता है - मैंने अभी-अभी इसे एक नए कंप्यूटर और डिवाइस पर परीक्षण किया है!
इस प्रमाणपत्र के उपयोग की अनुमति देने के लिए अपने iPhone SDK को पैच करें:
चाबी का गुच्छा Access.app लॉन्च करें। किचेन मेनू से चयनित कोई आइटम नहीं होने पर, प्रमाणपत्र सहायक का चयन करें, फिर एक प्रमाणपत्र बनाएं।
जारी रखें पर क्लिक करें
जारी रखें पर क्लिक करें
ईमेल पता फ़ील्ड को खाली करें ।
पूरा होने तक जारी रखें पर क्लिक करें ।
आपको "यह मूल प्रमाणपत्र विश्वसनीय नहीं है" देखना चाहिए । यह अपेक्षित है।
स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग करने की अनुमति देने के लिए iPhone एसडीके सेट करें:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
यदि आपके पास Xcode खुला है, तो इस बदलाव को प्रभावी होने के लिए इसे फिर से शुरू करें।
और अगर आप iOS 5 पर हैं, तो बस! अब इसे आजमाओ! यह डिबगिंग की अनुमति नहीं दे सकता है, लेकिन ऐप होगा!
मुझे इस बात से बहुत आश्चर्य हुआ, क्योंकि जैसा कि आपको पता होना चाहिए , मुझे इस बारे में कोई जानकारी नहीं है कि उन सभी हैकिंग के बारे में क्या है! जैसा कि मैंने बताया, मैंने जो कुछ भी पाया, उसमें मैं थोड़ा सुधार कर रहा था।
तो हाँ, पूरी विधि अब उसी तरह से काम नहीं करती है और मैं एक नया खोजने के लिए परेशान नहीं कर सकता ... इसके अलावा , जो थियोस नामक एक उपकरण का उपयोग करता है, लेकिन मैं पूरी प्रक्रिया से नहीं गुजर सकता।
अंत में, यदि आपको इसे किसी भी कारण से अनइंस्टॉल करने की आवश्यकता है, तो इस पोस्ट के अंत की जांच करें। मेरे मामले में, मुझे यह पता लगाना था क्योंकि मैं यह पता नहीं लगा सका कि नीले रंग की यह पूरी विधि क्यों काम करना बंद कर देती है, और मैं अब और देखभाल नहीं कर सकता क्योंकि हमें पहले से ही लंबे समय से प्रतीक्षित लाइसेंस मिल गया है। (झल्लाहट भरी संख्या में इतना समय लगता है ...)
।
।
।
।
।
अपने जेलब्रेक किए गए iPhone पर, App Appync को स्रोत ** http://repo.hackyouriphone.org ** से जोड़कर इंस्टॉल करें
कोड साइन और एंटाइटेलमेंट के लिए SDK आवश्यकताएं निकालें (मैं sed प्यार कर रहा हूँ !):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
iPhoneOS5.0.sdk
भाग पर ध्यान दें। यदि आप, उदाहरण के लिए, iOS 4.2 SDK का उपयोग कर रहे हैं, तो इसे तदनुसार बदलें:
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
पैचिंग Xcode के माध्यम से आवश्यकता को हटाने का निष्कर्ष निकालें। इसका मतलब है बाइनरी एडिटिंग:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\xc3\x26\x00\x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
यदि आपके पास Xcode खुला है, तो इसे बदलने के लिए इसे पुनः आरंभ करें (और अंतिम) प्रभावी होने के लिए।
ओपन "परियोजना> परियोजना सेटिंग्स संपादित करें" (मेनू से)। "बिल्ड" टैब पर क्लिक करें । सूची में "कोड साइनिंग आइडेंटिटी" और उसके बच्चे को "कोई भी iPhoneOS डिवाइस" ढूंढें , और दोनों को "साइन न करें" प्रविष्टि में सेट करें :
इस चरण को पूर्ववत करने के लिए स्वतंत्र महसूस होने के बाद 3. कम से कम मेरे मामले में यह ठीक चला।
हमारे कस्टम मेड स्व-हस्ताक्षरित प्रमाणपत्र (पहले कैसे-करें) के साथ कोड कोड पर Xcode सेट करना । यदि आप डिबग करने में सक्षम नहीं होना चाहते हैं तो यह कदम संभवत: छोड़ दिया जा सकता है:
mkdir /Developer/iphoneentitlements401
cd /Developer/iphoneentitlements401
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
अपने iPhone को प्लग इन करें और Xcode खोलें। विंडो खोलें> आयोजक। बाएं हाथ की तरफ सूची से डिवाइस का चयन करें, और "विकास के लिए उपयोग करें" पर क्लिक करें। आपको एक प्रोविजनिंग वेबसाइट लॉगिन के लिए संकेत दिया जाएगा, रद्द करें पर क्लिक करें। यह वैध प्रावधान आसान बनाने के लिए है, लेकिन नाजायज नहीं प्रावधान को और अधिक कठिन बना देता है।
अब आपको अपने द्वारा बनाए गए हर नए प्रोजेक्ट के लिए यह अंतिम भाग करना होगा । मेनू प्रोजेक्ट> न्यू बिल्ड फेज> न्यू रन स्क्रिप्ट बिल्ड फेज पर जाएं। विंडो में, इसे कॉपी / पेस्ट करें:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi
।
।
।
।
पहले भाग के लिए:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
दूसरे भाग के लिए:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
यदि आपने चरण 3 को 2 के बजाय किया है, तो इसे तदनुसार संशोधित करें:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
बाकी के लिए, सिर्फ XCode पर आपके द्वारा किए गए और /Developer/iphoneentitlements401/gen_entitlements.py
यदि आप चाहते हैं तो हटा रहे हैं:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
The identity used to sign the executable is no longer valid. ... (0xE8008018)
यहां तक कि जब मैं समाप्त करने के लिए 3650 दिन डालता हूं। ऐसा लगता है जैसे फोन खुद चेक कर रहा हो।
Apple डेवलपर शुल्क (या अपने डिवाइस को जेलब्रेक) का भुगतान करने के बजाय एक वास्तविक डिवाइस पर अपने ऐप का परीक्षण करने के लिए, आप नए मुफ्त प्रावधान का उपयोग कर सकते हैं जो Xcode 7 और iOS 9 का समर्थन करता है।
यहां प्रलेखन से अधिक या कम कदम उठाए गए हैं (जो बहुत अच्छा है, इसलिए इसे पढ़ें):
1. Xcode में अपनी Apple ID जोड़ें
XCode> प्राथमिकताएं> खाता टैब> बटन जोड़ें (+)> Apple आईडी जोड़ें पर जाएं। अधिक सहायता के लिए डॉक्स देखें ।
2. प्रोजेक्ट नेविगेटर में सामान्य टैब पर क्लिक करें
3. टीम पॉपअप मेनू से अपनी ऐप्पल आईडी चुनें।
4. अपने डिवाइस से कनेक्ट करें और इसे स्कीम मेनू में चुनें।
5. फिक्स इश्यूज बटन पर क्लिक करें
यदि आपको बंडल नाम अमान्य होने के बारे में कोई त्रुटि मिलती है, तो उसे कुछ विशिष्ट में बदल दें।
6. अपना ऐप चलाएं
Xcode में, Build और run बटन पर क्लिक करें।
7. डिवाइस सेटिंग में ऐप डेवलपर पर भरोसा करें
अपना ऐप चलाने के बाद, आपको एक सुरक्षा त्रुटि मिलेगी क्योंकि आप जिस ऐप को चलाना चाहते हैं वह ऐप स्टोर से नहीं है।
अपने डिवाइस पर , सेटिंग> सामान्य> प्रोफ़ाइल> अपने ऐप्पल-आईडी-नाम > ट्रस्ट -ऐप्पल-आईडी-नाम > ट्रस्ट पर जाएं।
8. अपने ऐप को फिर से अपने डिवाइस पर चलाएं।
बस। अब आप $ 99 डॉलर की डिश के बिना अपना खुद का (या कोई अन्य ऐप जिसके लिए आपके पास स्रोत कोड है) चला सकते हैं। धन्यवाद, Apple, आखिरकार इसकी अनुमति देने के लिए।
आपको अपने डिवाइस को जेलब्रेक करना होगा।
ऐप्पल को भुगतान किए बिना आईफोन एप्लिकेशन को तैनात करने का एक तरीका है आपको अपने डिवाइस को जेलब्रेक करना होगा और http://www.alexwhittemore.com/?p=398 में दिए गए निर्देशों का पालन करना होगा ।
मैंने कहीं भी नहीं देखा है कि आप एक (बिना भुगतान किए) प्रमाण पत्र के बिना एक वास्तविक iPhone के लिए तदर्थ तैनाती को इंगित कर सकते हैं।
मैं कल रात Apple डेवलपर के माध्यम से जा रहा था और वहां प्रोविजनिंग सर्टिफिकेट में मुझे कुछ ऐसा मिला - "साइनिंग टीम मेंबर्स"। मुझे लगता है कि भुगतान किए गए प्रोफ़ाइल में टीम के सदस्यों को जोड़ने का एक तरीका है। आप टीम के सदस्य के रूप में आपको जोड़ने के लिए बस ऐप आईडी ओनर (भुगतान किया हुआ) से पूछ सकते हैं। मुझे यकीन नहीं है। अभी भी उस पर खोज कर रहे हैं।
नहीं, ऐसा करना आसान है। Xcode में, सक्रिय कॉन्फ़िगरेशन को रिलीज़ करने के लिए सेट करें। सिम्युलेटर से डिवाइस में डिवाइस बदलें - जो भी एसडीके। यदि आप सीधे अपने iPhone पर निर्यात करना चाहते हैं, तो इसे अपने कंप्यूटर से कनेक्ट करें। प्रेस बनाएँ और जाओ। यदि आपका iPhone आपके कंप्यूटर से कनेक्ट नहीं है, तो एक संदेश आएगा जिसमें कहा जाएगा कि आपका iPhone कनेक्ट नहीं है।
यदि यह आपके लिए लागू होता है: (iPhone कनेक्ट नहीं था)
अपने प्रोजेक्ट फ़ोल्डर में जाएं और फिर अंदर फ़ोल्डर का निर्माण करें। रिलीज़-iphoneos फ़ोल्डर में जाएं और ऐप को अंदर ले जाएं, iTunes आइकन पर खींचें और छोड़ें। जब आप अपने iTouch डिवाइस को सिंक करते हैं, तो वह इसे आपके डिवाइस पर कॉपी कर देगा। यह आईफोन में आईफोन के लिए एक एप्लिकेशन के रूप में भी दिखाई देगा।
उम्मीद है की यह मदद करेगा!
पुनश्च: यदि यह किसी प्रमाणपत्र के वैध नहीं होने के बारे में कुछ कहता है, तो बस Xcode में प्रोजेक्ट पर क्लिक करें, फ़ाइल स्टैक में बाईं ओर स्थित छोटा प्रोजेक्ट आइकन, और Apple + I दबाएं, या मेनू बार से Get Info करें। शीर्ष पर बिल्ड पर क्लिक करें। कोड साइनिंग के तहत, कोड साइनिंग आइडेंटिटी बदलें - कोई भी आईफोन ओएस डिवाइस साइन न करें।
यह वास्तव में सभी पर निर्भर करता है कि आप Xcode के किस संस्करण का उपयोग कर रहे हैं, विभिन्न संस्करण एक प्रोविज़निंग प्रोफ़ाइल के बिना आपके iPhone पर तैनात करने के लिए विभिन्न तरीकों का उपयोग करते हैं।
Xcode 3.2.1 एक अच्छा संस्करण है और इसे सुलझाना आसान है, लेकिन हमें यह जानना होगा कि आप किस संस्करण का उपयोग कर रहे हैं।
Cawas द्वारा पोस्ट किया गया समाधान XCode4 के साथ भी पूरी तरह से काम करता है। हालाँकि, IDE के UI में कुछ बदलाव हैं, इसलिए आपको रन स्क्रिप्ट खोजने के लिए कुछ शोध करने की आवश्यकता है :)
प्रोजेक्ट नेविगेटर दृश्य में प्रोजेक्ट के मूल आइटम पर क्लिक करें, फिर मध्य विंडो में लक्ष्य का चयन करें, फिर बिल्ड चरणों पर क्लिक करें और सबसे नीचे आपको Add Build चरण बटन दिखाई देगा, क्लिक करें और रन स्क्रिप्ट जोड़ें का चयन करें, फिर "codeign" पेस्ट करें "स्क्रिप्ट कावा द्वारा पोस्ट की गई।
कोई वर्कअराउंड नहीं है। यदि आप अपने डिवाइस के साथ पंजीकृत हैं, तो आप केवल हॉक परिनियोजन ऐप्स को ही देख सकते हैं। यह आपको अपना खुद का ऐप स्टोर बनाने से रोकता है।