ขั้นตอนการสอนเพื่อให้บรรลุวัตถุประสงค์นี้มาจาก:
http://iphonedevwiki.net/index.php/Xcode
การค้นพบและการกระทำของฉันมีให้ในแต่ละขั้นตอน
1. สร้างใบรับรองการเซ็นชื่อด้วยตนเองที่มีชื่อ“ iPhone Developer” บนพวงกุญแจ“ เข้าสู่ระบบ” (ค่าเริ่มต้น) โดยใช้ Keychain Access
- ฉันจับภาพหน้าจอขณะที่ทำตามคำแนะนำด้านบน
- ฉันเว้นฟิลด์ส่วนใหญ่ว่างไว้หรือใช้ค่าเริ่มต้น
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 บน Mac ของคุณ /usr/local/bin
สถานที่ที่มีการคัดลอกบางแห่งเช่นใน
6. สร้างสคริปต์ Python ldid3.py ติดกับโปรแกรม ldid ทำให้ปฏิบัติการได้ เติมด้วย:
#!/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
ไดเรกทอรี
- ใน terminal,
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
- ฉันเปิดไฟล์ด้วย TextEdit
- แทนที่ด้วย
<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
บนอุปกรณ์เพื่อเปิดใช้งาน "บายพาส TDMTANF" ของ Apple ในการติดตั้ง (คำเตือน: การทำเช่นนี้จะนำคุณเข้าสู่ศูนย์เกมแบบแซนด์บ็อกซ์)
- ฉันสร้างไฟล์ข้อความเปล่าใน Windows ตั้งชื่อมัน
tdmtanf
SSH ลงใน iPod อัปโหลดไปยัง/var/mobile/
และรีบูต iPod ของฉัน
ตอนนี้ทุกอย่างจบลงด้วย ...
ฉันเปิดโครงการ Xcode ที่มีอยู่และกด Run มันทำงานได้ใน iOS Simulator โดยไม่มีปัญหาใด ๆ
ฉันแน่ใจว่าการเซ็นชื่อรหัสถูกตั้งค่าให้ใช้การตั้งค่าใบรับรองในขั้นตอนที่ 1
ฉันสร้างแอพ (โครงการ> สร้าง) ข้อความความสำเร็จดังต่อไปนี้
ฉันคว้าโฟลเดอร์ app ของฉันTicTacToe.app
จาก/Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/
และโอนไปยังเครื่อง Windows ของฉันที่จะติดตั้งลง iPod ของฉัน
ในความพยายามที่จะติดตั้งแอพลงใน iPod ของฉันฉันจะลากTicTacToe.app
ไปที่ส่วนแอพพลิเคชั่นของ iPhone Configuration Utility แต่ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ว่าแอปของฉัน "ไม่ใช่แอปพลิเคชันมือถือที่ใช้ได้"
ฉันได้ลองติดตั้งแอพด้วยตนเองโดยใช้iFunboxและแอพAppCake ที่พบใน Cydia ทั้งสองล้มเหลว
ในฐานะที่เป็นจุดสนใจเพราะในขณะที่ฉัน Googled ฉันได้สังเกตเห็นหลายคนพูดถึงความสำคัญของสิ่งนี้: ฉันติดตั้ง AppSync แล้ว (ขออภัยสำหรับภาพหน้าจอขนาดใหญ่ถ้าฉันควรจะลงโปรดแจ้งให้เราทราบ!)
ข้อสรุป
ดังนั้นแม้จะทำตามคำแนะนำอย่างใกล้ชิดหลายครั้งแอพของฉันไม่รู้จักโดย iPhone Configuration Utility เป็นแอพที่ถูกต้อง ฉันไม่สามารถติดตั้งแอพด้วยตนเองโดยใช้โปรแกรมเช่น iFunbox หรือแอพ Cydia เช่น AppCake
ฉันสงสัยว่าแอพนี้ไม่ถูกต้อง แต่เมื่อทำตามคำแนะนำอย่างระมัดระวังฉันไม่แน่ใจว่าทำไม
ใครสามารถบอกฉันได้ว่าทำไมแอปของฉันไม่ถูกต้องและสิ่งที่ฉันสามารถทำได้เพื่อแก้ไขปัญหานี้นอกเหนือจากการไอเงินนั่นคืออะไร?