ฉันจะปรับใช้แอปพลิเคชัน iPhone จาก Xcode ไปยังอุปกรณ์ iPhone จริงโดยไม่ต้องมีใบรับรอง Apple $ 99 ได้อย่างไร
ฉันจะปรับใช้แอปพลิเคชัน iPhone จาก Xcode ไปยังอุปกรณ์ iPhone จริงโดยไม่ต้องมีใบรับรอง Apple $ 99 ได้อย่างไร
คำตอบ:
ดูเหมือนว่าแอปพลิเคชันจะไม่ได้รับการลงชื่อ ดาวน์โหลด ldid จาก Cydia จากนั้นใช้อย่าง:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
ตรวจสอบให้แน่ใจด้วยว่าไบนารีนั้นถูกทำเครื่องหมายว่าสามารถทำงานได้: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
ผมเคยใช้การผสมผสานของสอง HOWTOs A: เจสันและอเล็กซ์ ด้วยข้อที่สองเรามีข้อได้เปรียบจากความสามารถในการดีบัก ฉันจะเพียงคัดลอกทั้งสองด้านล่าง (และลดความซับซ้อนของ alex):
อัปเดตมกราคม 2555:ยังใช้งานได้กับ SDK 4.2.1 และ iOS 5.0.1 - ฉันเพิ่งทดสอบทั้งหมดบนคอมพิวเตอร์และอุปกรณ์ใหม่!
แก้ไข iPhone SDK ของคุณเพื่ออนุญาตการใช้ใบรับรองนี้:
เปิดใช้งาน Keychain Access.app หากไม่มีรายการที่ถูกเลือกจากเมนูพวงกุญแจให้เลือกผู้ช่วยใบรับรองแล้วสร้างใบรับรอง
คลิกดำเนินการต่อ
คลิกดำเนินการต่อ
ว่างเปล่าออกอีเมล์เขตข้อมูลที่อยู่
คลิกต่อไปจนกว่าสมบูรณ์
คุณควรจะเห็น"ใบรับรองหลักนี้ไม่น่าเชื่อถือ" สิ่งนี้คาดว่า
ตั้งค่า iPhone SDK เพื่ออนุญาตให้ใช้ใบรับรองที่ลงนามเอง:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
หากคุณเปิด Xcode ให้รีสตาร์ทเพื่อให้การเปลี่ยนแปลงนี้มีผล
และถ้าคุณใช้ iOS 5 นั่นแหละ! ลองเลย! อาจไม่อนุญาตให้ทำการดีบัก แต่แอปจะอยู่ที่นั่น!
ฉันประหลาดใจมากกับสิ่งนี้เพราะอย่างที่คุณควรรู้ฉันไม่รู้เลยว่าการแฮ็คเหล่านั้นเกี่ยวกับอะไร! ทั้งหมดที่ฉันทำคือการปรับปรุงเล็กน้อยสิ่งที่ฉันพบที่อื่นตามที่ฉันชี้
ดังนั้นใช่วิธีการทั้งหมดไม่ทำงานเหมือนเดิมอีกต่อไปและฉันไม่สามารถหาวิธีใหม่ได้ ... ยกเว้นสิ่งนี้ซึ่งใช้เครื่องมือที่ชื่อว่า Theosแต่ฉันไม่สามารถผ่านกระบวนการทั้งหมดได้
สุดท้ายหากคุณต้องการถอนการติดตั้งไม่ว่าด้วยเหตุผลใดก็ตามให้ตรวจสอบตอนท้ายของโพสต์นี้ ในกรณีของฉันฉันต้องเพราะฉันไม่สามารถเข้าใจได้ว่าทำไมสีฟ้าทั้งหมดนี้จึงหยุดทำงานและฉันไม่สามารถดูแลได้อีกต่อไปเพราะเราได้รับใบอนุญาตที่รอมานานแล้ว (หมายเลข DUNS ที่ไม่ต่อเนื่องใช้เวลานานมาก ... )
.
.
.
.
.
บน iPhone ที่ถูกเจลเบรคแล้วให้ติดตั้งแอพAppSyncโดยเพิ่มแหล่งที่มา ** 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
.
.
.
.
สำหรับส่วนที่ 1:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
สำหรับส่วนที่ 2:
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 Developer (หรือแหกคุกอุปกรณ์ของคุณ) คุณสามารถใช้การจัดสรรใหม่ฟรีที่ Xcode 7 และ iOS 9 รองรับ
นี่คือขั้นตอนที่ทำมากหรือน้อยจากเอกสาร (ซึ่งค่อนข้างดีดังนั้นจึงควรอ่าน):
1. เพิ่ม Apple ID ของคุณใน Xcode
ไปที่ XCode> การตั้งค่า> แท็บบัญชี> ปุ่มเพิ่ม (+)> เพิ่ม Apple ID ดูเอกสารสำหรับความช่วยเหลือเพิ่มเติม
2. คลิกแท็บทั่วไปใน Project Navigator
3. เลือก Apple ID ของคุณจากเมนูป๊อปอัพทีม
4. เชื่อมต่ออุปกรณ์ของคุณและเลือกในเมนูแบบแผน
5. คลิกปุ่มแก้ไขปัญหา
หากคุณได้รับข้อผิดพลาดเกี่ยวกับชื่อกลุ่มที่ไม่ถูกต้องให้เปลี่ยนเป็นชื่อที่ไม่ซ้ำ
6. เปิดแอปของคุณ
ใน Xcode คลิกปุ่มสร้างและเรียกใช้
7. เชื่อถือนักพัฒนาแอปในการตั้งค่าอุปกรณ์
หลังจากเรียกใช้แอพของคุณคุณจะได้รับข้อผิดพลาดด้านความปลอดภัยเนื่องจากแอพที่คุณต้องการเรียกใช้นั้นไม่ได้มาจาก App Store
บนอุปกรณ์ของคุณไปที่การตั้งค่า> ทั่วไป> โปรไฟล์> ชื่อApple-ID ของคุณ > Trust -Apple-ID-name > Trust
8. เปิดแอปของคุณบนอุปกรณ์อีกครั้ง
แค่นั้นแหละ. ตอนนี้คุณสามารถเรียกใช้ของคุณเอง (หรือแอพอื่น ๆ ที่คุณมีซอร์สโค้ดได้) โดยไม่ต้องเสียเงิน $ 99 ขอบคุณ Apple สำหรับการอนุญาตในที่สุด
คุณทำไม่ได้ใช่ไหมถ้าคุณกำลังพูดถึงแอพพลิเคชั่นที่สร้างด้วย SDK อย่างเป็นทางการและปรับใช้โดยตรงจาก xcode
คุณจะต้องแหกคุกอุปกรณ์ของคุณ
มีวิธีการปรับใช้แอพ iPhone โดยไม่ต้องจ่ายให้แอปเปิลคุณจะต้องแหกคุกอุปกรณ์ของคุณและทำตามคำแนะนำในhttp://www.alexwhittemore.com/?p=398
ไม่มีสิ่งใดที่ฉันเคยเห็นทุกที่บ่งบอกว่าคุณสามารถปรับใช้กับ iPhone จริงโดยไม่ต้องมีใบรับรอง (จ่ายเงิน)
เมื่อคืนนี้ฉันได้พบกับ Developer Developer ของ Apple และในหนังสือรับรองการจัดสรรฉันพบบางสิ่งเช่น - "สมาชิกในทีมที่เซ็นชื่อ" ฉันคิดว่ามีวิธีเพิ่มสมาชิกในทีมไปยังโปรไฟล์ที่ต้องชำระ คุณสามารถขอให้เจ้าของรหัสแอป (เสียค่าใช้จ่าย) เพื่อเพิ่มคุณเป็นสมาชิกทีม ฉันไม่แน่ใจ. ยังค้นหาอยู่
ไม่ง่ายในการทำเช่นนี้ ใน Xcode ให้ตั้งค่า Active Configuration เป็น Release เปลี่ยนอุปกรณ์จาก Simulator เป็น Device - SDK ใด ๆ หากคุณต้องการส่งออกไปยัง iPhone โดยตรงให้เชื่อมต่อกับคอมพิวเตอร์ของคุณ กด Build and Go หาก iPhone ของคุณไม่ได้เชื่อมต่อกับคอมพิวเตอร์จะมีข้อความแจ้งว่า iPhone ของคุณไม่ได้เชื่อมต่อ
หากสิ่งนี้ใช้ได้กับคุณ: (iPhone ไม่ได้เชื่อมต่อ)
ไปที่โฟลเดอร์โครงการของคุณแล้วไปที่โฟลเดอร์สร้างภายใน ไปที่โฟลเดอร์ Release-iphoneos และนำแอพเข้าไปข้างในลากและวางบนไอคอน iTunes เมื่อคุณซิงค์อุปกรณ์ iTouch ของคุณมันจะคัดลอกไปยังอุปกรณ์ของคุณ มันจะปรากฏขึ้นใน iTunes เป็นแอพพลิเคชั่นสำหรับ iPhone
หวังว่านี่จะช่วยได้!
PS: ถ้ามีข้อความว่าใบรับรองไม่ถูกต้องให้คลิกที่โครงการใน Xcode ไอคอนโครงการเล็ก ๆ ในกองไฟล์ทางซ้ายและกด Apple + I หรือรับข้อมูลจากแถบเมนู คลิกที่สร้างที่ด้านบน ภายใต้การเซ็นชื่อรหัสให้เปลี่ยนรหัสการลงชื่อรหัส - อุปกรณ์ iPhone OS ใด ๆ ที่จะไม่ลงชื่อ
ทั้งหมดนี้ขึ้นอยู่กับเวอร์ชันของ Xcode ที่คุณใช้เป็นเวอร์ชันที่ต่างกันใช้วิธีการต่าง ๆ ในการปรับใช้กับ iPhone ของคุณโดยไม่ต้องมีโปรไฟล์การจัดสรร
Xcode 3.2.1 เป็นรุ่นที่ดีและง่ายต่อการสังคายนา แต่เราจำเป็นต้องรู้ว่าคุณใช้เวอร์ชั่นใด
โซลูชันที่โพสต์โดย Cawas ทำงานได้อย่างสมบูรณ์แบบกับ XCode4 เช่นกัน อย่างไรก็ตามมีการเปลี่ยนแปลงบางอย่างกับ UI ของ IDE ดังนั้นคุณต้องทำการวิจัยเพื่อค้นหา Run Script :)
ในมุมมอง Project Navigator คลิกรายการรูทของโครงการจากนั้นในหน้าต่างกลางเลือก Target จากนั้นคลิกแท็บ Build Phases และที่ด้านล่างคุณจะเห็นปุ่มเพิ่ม Build Phase คลิกและเลือก Add Run Script แล้ววาง "codesign "สคริปต์โพสต์โดย Cawas
ไม่มีวิธีแก้ไขเฉพาะหน้า คุณสามารถปรับใช้แอพได้เฉพาะเมื่อมีการลงทะเบียนกับอุปกรณ์ของคุณ สิ่งนี้ป้องกันคุณจากการสร้างแอพสโตร์ของคุณเอง ..