क्या पेड डेवलपर प्रमाणपत्र के बिना जेलब्रेक डिवाइस पर Xcode प्रोजेक्ट को संकलित करना और चलाना संभव है?


9

दोनों किक्स के लिए और बजटीय कारणों से, मैं एक पैकेज लेना चाहूंगा जिसे सामान्य रूप से डेवलपर खाते की आवश्यकता होगी और जेलब्रेक किए गए आईओएस डिवाइस पर चलने के लिए ऐप का निर्माण करना होगा।

मैं एक 5 वीं जीन आइपॉड टच है, evasi0n का उपयोग कर भागने, iOS 6.1 चल रहा है।

मैं ओएस एक्स (10.8.2) शेर के साथ एक्सकोड 4.6 का उपयोग कर रहा हूं।

जवाबों:


6

इस उद्देश्य को पूरा करने के लिए निम्नलिखित निर्देशात्मक कदम उठाए गए हैं: http://iphonedevwiki.net/index.php/Xcode

मेरे निष्कर्ष और कार्य प्रत्येक चरण के तहत प्रदान किए जाते हैं।

1. कीचेन एक्सेस का उपयोग करके "लॉगिन" (डिफ़ॉल्ट) किचेन पर "iPhone डेवलपर" नाम के साथ एक स्व-हस्ताक्षरित कोड-हस्ताक्षर प्रमाण पत्र बनाएं।

  • मैंने उपरोक्त निर्देश का पालन करते हुए स्क्रीनशॉट लिया।
  • मैंने अधिकांश फ़ील्ड रिक्त या उनके डिफ़ॉल्ट मान पर छोड़ दिए।

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

2. ओपन /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist(4.2 या नीचे:) /Developer/Platforms/iPhoneOS.platform/Info.plist। आपको रूट अनुमति की आवश्यकता हो सकती है।

  • मैं Xcode 4.6 का उपयोग कर रहा हूं, इसलिए मैंने पूर्व .plistफ़ाइल खोली ।

3. की सभी घटनाओं की जगह XCiPhoneOSCodeSignContextसे XCCodeSignContext। उनमें से तीन हैं (XCode संस्करण 3.2.4+)।

  • स्क्रीनशॉट के संकेत के रूप में मैंने तीन संशोधन किए।

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

4. फ़ाइल सहेजें और Xcode को पुनरारंभ करें।

  • फ़ाइल सहेज ली गई।

5. सुनिश्चित करें कि आप अपने मैक पर ldid है। जैसे कहीं में एक प्रति रखें /usr/local/bin

6. ldid प्रोग्राम के ठीक बगल में Python script ldid3.py बनाएं। इसे अमल में लाएं। इसे भरें:

#!/usr/bin/env python

from sys import argv
from subprocess import check_call
from os.path import basename, dirname, splitext, join
from tempfile import NamedTemporaryFile

app = argv[-1]
ldid_path = join(dirname(__file__), 'ldid')
obj_path = join(app, splitext(basename(app))[0])

if '-gta' not in argv:
    check_call([ldid_path, '-S', obj_path])
else:
    with NamedTemporaryFile('w+b', 0) as f:
        f.write("""
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>get-task-allow</key>
    <true/>
  </dict>
</plist>
        """)
        check_call([ldid_path, '-S' + f.name, obj_path])
  • मैंने एक नया सादा पाठ फ़ाइल बनाया और उसमें उपरोक्त कोड को कॉपी-पेस्ट किया।
  • मैंने इस फ़ाइल को सहेज लिया ldid3.pyऔर इसे /usr/local/binनिर्देशिका में संग्रहीत किया ।
  • टर्मिनल में, भाग गया chmod 777 /usr/local/bin/ldid3.py

7. खोलो iPhoneCodeSign.xcspec। इस फ़ाइल को [Xcode 4.6 के लिए: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec] में पाया जा सकता है :

8. कॉल codesignकरने से फ़ाइल में प्रविष्टि बदलें ldid3.py

  • निर्देश आधिकारिक निर्देश के अनुसार, सांकेतिक फाइल को कंसोल में टाइप करके सादे पाठ में परिवर्तित करें: sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
  • मैंने टेक्स्टएडिट के साथ फाइल को खोला।
  • के <key>CommandLine</key><string>/usr/bin/codesign</string>साथ बदला गया <key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>

9. फ़ाइल को सहेजें और Xcode को पुनरारंभ करें।

  • मैंने फ़ाइल को सहेजा और TextEdit को छोड़ दिया।

10. /var/mobile/tdmtanfइंस्टाल्ड में Apple के "TDMTANF बाईपास" को सक्षम करने के लिए डिवाइस पर एक फ़ाइल बनाएं (चेतावनी: ऐसा करने से आपको सैंडबॉक्स वाले गेमकेंटर में भी रखा जाएगा)।

  • मैं विंडोज में एक खाली पाठ फ़ाइल tdmtanfबनाता हूं, इसे नाम दिया है , SSH'd in my iPod, इसे अपलोड किया /var/mobile/और मेरे iPod को रिबूट किया।

अब यह सब खत्म हो चुका है ...

मैंने अपना मौजूदा Xcode प्रोजेक्ट खोला और Run को हिट किया। यह बिना किसी समस्या के iOS सिम्युलेटर में काम करता है।

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

मैं यह सुनिश्चित करता हूं कि चरण 1 में स्थापित प्रमाणपत्र का उपयोग करने के लिए कोड साइनिंग सेट है।

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

मैं एप्लिकेशन (प्रोजेक्ट> बिल्ड) का निर्माण करता हूं। एक सफलता संदेश इस प्रकार है।

मैं अपने ऐप फ़ोल्डर हड़पने TicTacToe.appसे /Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/और मेरे आइपॉड पर स्थापित करने के लिए अपने Windows मशीन में स्थानांतरित।

ऐप को मेरे आईपॉड में इंस्टॉल करने के प्रयास में, मैं TicTacToe.appiPhone कॉन्फ़िगरेशन सुविधा के एप्लिकेशन अनुभाग पर खींचता हूं , लेकिन मुझे यह त्रुटि संदेश मिला है कि मेरा ऐप "एक वैध मोबाइल एप्लिकेशन नहीं है।"

मैंने iFunbox और Cydia में पाए गए AppCake ऐप का उपयोग करके मैन्युअल रूप से ऐप इंस्टॉल करने की कोशिश की है । दोनों फेल हैं।

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

रुचि के बिंदु के रूप में, क्योंकि मैंने चारों ओर गुगेल किया है, मैंने देखा है कि बहुत से लोग इस के महत्व का उल्लेख करते हैं: मेरे पास AppSync स्थापित है। (विशाल स्क्रीनशॉट के लिए क्षमा करें। अगर मुझे इसे नीचे ले जाना चाहिए, तो कृपया मुझे बताएं!)

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

निष्कर्ष

इसलिए निर्देशों का बारीकी से पालन करने के बावजूद, कई बार, मेरे ऐप को मान्य एप्लिकेशन के रूप में iPhone कॉन्फ़िगरेशन उपयोगिता द्वारा मान्यता प्राप्त नहीं है। मैं iFunbox, या AppCake जैसे Cydia ऐप जैसे कार्यक्रमों का उपयोग करके मैन्युअल रूप से ऐप इंस्टॉल नहीं कर सकता।

मुझे संदेह है कि ऐप वास्तव में अमान्य है, लेकिन निर्देशों का सावधानीपूर्वक पालन करते हुए, मुझे यकीन नहीं है कि क्यों।

क्या कोई मुझे बता सकता है कि मेरा ऐप वैध क्यों नहीं है, और मैं इसे ठीक करने के लिए क्या कर सकता हूं, इसके अलावा पैसा भी खर्च करना है?


यह एक दिलचस्प पढ़ना था, हालांकि।
thecafremo

नहींं - खुशी है कि इसे पढ़ा है और शायद भविष्य में इसे वापस कर देगा। इसे शेयर करने के लिए धन्यवाद।
रॉबर्ट

Xcode 4.2 और iOS 4 पर काम करते समय यह मेरे लिए बहुत मददगार था, मुझे आशा है कि कोई व्यक्ति Xcode 4.6 में प्रक्रिया को अपडेट कर सकता है
rrallvv

Ldid डाउनलोड करने के बाद आपको chmod 755 ldid के साथ इसकी अनुमतियों को 755 में बदलना होगा। यह मेरे लिए एक त्रुटि 1 से बाहर निकल रहा था।

0

आप अपने डिवाइस को कनेक्ट कर सकते हैं और अपने iOS डिवाइस को रन लक्ष्य के रूप में चुन सकते हैं। जब इसका रन, एप्लिकेशन आपके डिवाइस पर स्वचालित रूप से इंस्टॉल हो जाता है। या आप अपने iOS डिवाइस का चयन कर सकते हैं, फिर रन टू बिल्ड बिल्ड एंड आर्काइव की जरूरत नहीं है। उसके बाद, वितरित करें ... एंटरप्राइज़ या एड-हॉक परिनियोजन के लिए सहेजें चुनें। आपको अपनी .ipa फ़ाइल मिल जाएगी। उम्मीद है, यह आपकी मदद कर सके..


0

@joncom का उत्तर जारी रखना .. आप कुछ अतिरिक्त चरणों के साथ सीधे अपने iPhone में .app फाइलें जोड़ सकते हैं।

  • .appअपने डेस्कटॉप पर फ़ाइल की प्रतिलिपि बनाएँ , और फिर इसे ज़िप करें
  • नाम बदलने [yourappname].zipके लिए[yourappname].ipa
  • तो आगे बढ़ो और cydia से AppSync डाउनलोड करें
  • अपने डिवाइस पर .ipa फ़ाइल डाउनलोड और इंस्टॉल करें

ध्यान दें:

आप सीधे सभी अजगर कोड संशोधन @ जोंकोम के माध्यम से जाने के बिना भी ऐसा कर सकते हैं .. और पढ़ें यहां

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.