App iPhone ลบ App Store หรือไม่


199

หากฉันสร้างแอปพลิเคชันบน Mac ของฉันจะมีวิธีใดที่ฉันจะสามารถใช้งานบน iPhone โดยไม่ต้องผ่านแอพสโตร์?

ไม่สำคัญว่า iPhone จะต้องถูกเจลเบรคหรือไม่ตราบใดที่ฉันยังสามารถเรียกใช้แอปพลิเคชันที่สร้างขึ้นโดยใช้ SDK อย่างเป็นทางการ ด้วยเหตุผลที่ฉันจะไม่เข้าไปฉันไม่สามารถให้โปรแกรมนี้ผ่านแอพสโตร์ได้


1
ในฐานะของ Xcode 7 ตอนนี้เป็นไปได้ที่จะเรียกใช้แอปบนอุปกรณ์ที่เชื่อมต่อโดยไม่ต้องลงทะเบียนสำหรับบัญชีนักพัฒนาซอฟต์แวร์หรือการเจลเบรคอุปกรณ์ ดูคู่มือนี้สำหรับรายละเอียด
Suragch

คุณสามารถใช้AppBoxแอปพลิเคชันสำหรับ Mac ที่ใช้บัญชีดรอปบ็อกซ์ของคุณเพื่อแจกจ่ายแอปเฉพาะกิจและแอพองค์กร ลองดูที่นี่github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/ …
Vineet Choudhary

คำตอบ:


187

โปรแกรมนักพัฒนาอย่างเป็นทางการ

สำหรับ iPhone มาตรฐานคุณจะต้องจ่าย US $ 99 / ปีเพื่อเป็นสมาชิกของโปรแกรมผู้พัฒนา จากนั้นคุณสามารถใช้ระบบ adhoc เพื่อติดตั้งแอปพลิเคชันของคุณไปยังอุปกรณ์ได้สูงสุด 100 เครื่อง โปรแกรมผู้พัฒนามีรายละเอียด แต่เกี่ยวข้องกับการเพิ่ม UUID สำหรับแต่ละอุปกรณ์ในแพ็คเกจแอปพลิเคชันของคุณ สามารถดึง UUID ได้ง่ายที่สุดโดยใช้Ad Hoc Helperจาก App Store สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการนี้ดูเครก Hockenberry ของการทดสอบเบต้าบน iPhone 2.0บทความ

Jailbroken iPhone

สำหรับ jailbroken iPhones คุณสามารถใช้วิธีต่อไปนี้ซึ่งฉันได้ทำการทดสอบเป็นการส่วนตัวโดยใช้แอพตัวอย่างAccelerometerGraphบน iPhone OS 3.0

สร้างใบรับรองที่ลงชื่อด้วยตนเอง

ก่อนอื่นคุณจะต้องสร้างใบรับรองที่ลงชื่อด้วยตนเองและแก้ไข iPhone SDK ของคุณเพื่ออนุญาตการใช้ใบรับรองนี้

  1. เปิดใช้งาน Keychain Access.app หากไม่มีรายการที่ถูกเลือกจากเมนูพวงกุญแจให้เลือกผู้ช่วยใบรับรองแล้วสร้างใบรับรอง

    ชื่อ: iPhone Developer
    Certificate ประเภท: การเซ็นรหัส
    ให้ฉันแทนที่ค่าเริ่มต้น: ใช่

  2. คลิกดำเนินการต่อ

    ความถูกต้อง: 3650 วัน

  3. คลิกดำเนินการต่อ

  4. เว้นว่างฟิลด์ที่อยู่อีเมล

  5. คลิกดำเนินการต่อจนกว่าจะเสร็จสมบูรณ์

    คุณควรเห็น "ใบรับรองรูทนี้ไม่น่าเชื่อถือ" สิ่งนี้คาดว่า

  6. ตั้งค่า iPhone SDK เพื่ออนุญาตให้ใช้ใบรับรองที่ลงชื่อด้วยตนเอง:

    sudo / usr / bin / sed -i .bak 's / XCiPhoneOSCodeSignContext / XCCodeSignContext /' / ผู้พัฒนา / แพลตฟอร์มสถาปัตยกรรม / iPhoneOS.platform/Info.plist

    หากคุณเปิด Xcode ให้รีสตาร์ทเพื่อให้การเปลี่ยนแปลงนี้มีผล

การปรับใช้ด้วยตนเองผ่าน WiFi

ขั้นตอนต่อไปนี้ต้องการopensshและuikittoolsจะติดตั้งก่อน แทนที่jasoniphone.localด้วยชื่อโฮสต์ของอุปกรณ์เป้าหมาย ตรวจสอบให้แน่ใจว่าได้ตั้งรหัสผ่านของคุณเองทั้งในmobileและrootผู้ใช้หลังจากติดตั้ง SSH

ในการรวบรวมและติดตั้งแอปพลิเคชั่นของคุณในโทรศัพท์ด้วยตนเองเป็นแอพระบบ (บายพาสระบบการติดตั้งของ Apple):

  1. โครงการ, ตั้งค่า SDK ที่ใช้งานอยู่, อุปกรณ์และตั้งค่าการกำหนดค่า Build Build, Release

  2. คอมไพล์โครงการของคุณตามปกติ (ใช้ Build ไม่ใช่ Build & Go)

  3. ในbuild/Release-iphoneosไดเรกทอรีคุณจะมีชุดแอป ใช้วิธีที่คุณต้องการเพื่อถ่ายโอนสิ่งนี้ไปยัง / Applications บนอุปกรณ์

    scp -r AccelerometerGraph.app root@jasoniphone:/Applications/

  4. แจ้งให้ SpringBoard ทราบว่ามีการติดตั้งแอปพลิเคชันใหม่:

    ssh mobile@jasoniphone.local uicache

    สิ่งนี้จะต้องทำเมื่อคุณเพิ่มหรือลบแอปพลิเคชัน แอปพลิเคชั่นที่อัปเดตจำเป็นต้องเปิดใหม่อีกครั้ง

เพื่อให้ชีวิตของคุณง่ายขึ้นในระหว่างการพัฒนาคุณสามารถตั้งค่าการรับรองความถูกต้องของคีย์ SSH และเพิ่มขั้นตอนพิเศษเหล่านี้เป็นขั้นตอนการสร้างที่กำหนดเองในโครงการของคุณ

โปรดทราบว่าหากคุณต้องการลบแอปพลิเคชันในภายหลังคุณไม่สามารถทำได้ผ่านอินเทอร์เฟซ SpringBoard มาตรฐานและคุณจะต้องใช้ SSH และอัปเดต SpringBoard:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache

2
เหมืองแร่จะไม่สร้าง - Xcode ทันทีให้รหัสข้อผิดพลาดการลงนามเร็วที่สุดเท่าที่ฉันพยายามที่จะสร้าง ...
อุทิศ

1
@ Rev316 uicacheควรอยู่ที่นั่นหากคุณuikittoolsติดตั้งแพ็คเกจ
Jason Weathered

ฉันติดตามคุณ แต่พบข้อผิดพลาดนี้: stackoverflow.com/questions/2161877/…
hungbm06

นอกจากนี้คุณต้องการตั้งค่าคู่คีย์ส่วนตัว / สาธารณะเหนือ ssh เพื่อทำสิ่งต่าง ๆ โดยไม่ต้องใช้รหัสผ่าน
conradev

2
แล้วโปรไฟล์การจัดสรรล่ะ มีวิธีรับอย่างใดอย่างหนึ่งโดยไม่สมัครเป็นสมาชิกโปรแกรมนักพัฒนาหรือไม่?
Teodor Kostov

18

ใช่เมื่อคุณเข้าร่วมโปรแกรม iPhone Developer และจ่าย Apple $ 99 แล้วคุณสามารถจัดเตรียมแอปพลิเคชันของคุณบนอุปกรณ์ iOS ได้สูงสุด 100 เครื่อง


2
เหตุใดจึงมีข้อ จำกัด การติดตั้ง 100 ข้อ
Marcus Leon

25
ดังนั้นคนไม่สามารถใช้สิ่งนี้เป็นวิธีเลี่ยงผ่าน App Store ได้ทั้งหมด
willc2

2
และขีด จำกัด 100 จะถูกนับเป็นจำนวนอุปกรณ์ที่คุณลงทะเบียนในปีนั้นบน iOS Provisioning Portal ไม่ใช่หมายเลขปัจจุบันที่คุณมี ดังนั้นหากคุณเพิ่ม 5 อุปกรณ์แล้วลบทั้ง 5 คุณมี 95 (ไม่ใช่ 100) อุปกรณ์เพิ่มเติมที่คุณอาจเพิ่ม
Scott C Wilson

1
แต่จำนวนอุปกรณ์ที่ใช้จะถูกรีเซ็ตเมื่อคุณต่ออายุโปรแกรมนักพัฒนาซอฟต์แวร์ของคุณ
dgund

1
และโปรไฟล์การจัดสรรเฉพาะกิจจะหมดอายุใน 3 เดือนดังนั้นคุณจึงไม่สามารถเผยแพร่แอพอย่างถาวรแม้จะเป็นอุปกรณ์ที่คุณลงทะเบียน จำกัด (100)
Bogatyr

14
  • สร้างแอปของคุณ
  • อัปโหลดไปยังเว็บไซต์รอยแตก
  • (หากแอพของคุณดีพอ) เวอร์ชั่นรอยแตกจะโพสต์ในไม่ช้าและพร้อมให้ทุกคนดาวน์โหลด ;-)

8

ด้วยความช่วยเหลือของโพสต์นี้ฉันได้สร้างสคริปต์ที่จะติดตั้งผ่านแอพ Installous สำหรับการปรับใช้อย่างรวดเร็ว:

# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist

cd $CONFIGURATION_BUILD_DIR

# zip up the HelloWorld directory

/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist

สิ่งที่หายไปในโพสต์ที่อ้างถึงข้างต้นคือ iTunesMetadata หากไม่มีสิ่งนี้ Installous จะไม่ติดตั้งแอปอย่างถูกต้อง นี่คือตัวอย่างของ iTunesMetadata:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>appleId</key>
    <string></string>
    <key>artistId</key>
    <integer>0</integer>
    <key>artistName</key>
    <string>MYCOMPANY</string>
    <key>buy-only</key>
    <true/>
    <key>buyParams</key>
    <string></string>
    <key>copyright</key>
    <string></string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>genre</key>
    <string></string>
    <key>genreId</key>
    <integer>0</integer>
    <key>itemId</key>
    <integer>0</integer>
    <key>itemName</key>
    <string>MYAPP</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>MYCOMPANY</string>
    <key>playlistName</key>
    <string>MYAPP</string>
    <key>price</key>
    <integer>0</integer>
    <key>priceDisplay</key>
    <string>nil</string>
    <key>rating</key>
    <dict>
        <key>content</key>
        <string></string>
        <key>label</key>
        <string>4+</string>
        <key>rank</key>
        <integer>100</integer>
        <key>system</key>
        <string>itunes-games</string>
    </dict>
    <key>releaseDate</key>
    <string>Sunday, December 12, 2010</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIcon57x57URL</key>
    <string></string>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>1</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.mycompany.myapp</string>
    <key>softwareVersionExternalIdentifier</key>
    <integer>0</integer>
    <key>softwareVersionExternalIdentifiers</key>
    <array>
        <integer>1466803</integer>
        <integer>1529132</integer>
        <integer>1602608</integer>
        <integer>1651681</integer>
        <integer>1750461</integer>
        <integer>1930253</integer>
        <integer>1961532</integer>
        <integer>1973932</integer>
        <integer>2026202</integer>
        <integer>2526384</integer>
        <integer>2641622</integer>
        <integer>2703653</integer>
    </array>
    <key>vendorId</key>
    <integer>0</integer>
    <key>versionRestrictions</key>
    <integer>0</integer>
</dict>
</plist>

แน่นอนแทนที่ MyApp ทั้งหมดด้วยชื่อแอปของคุณและ MyCompany ด้วยชื่อ บริษัท ของคุณ

โดยพื้นฐานแล้วสิ่งนี้จะติดตั้งบนอุปกรณ์ที่ถูกเจลเบรคแล้วติดตั้ง Installous หลังจากที่มีการตั้งค่าผลการนี้ในการใช้งานได้อย่างรวดเร็วมากในขณะที่มันสามารถติดตั้งได้จากที่ใดก็ได้เพียงแค่อัปโหลดไปยังเว็บไซต์ของ บริษัท ของคุณและดาวน์โหลดไฟล์โดยตรงไปยังอุปกรณ์และคัดลอก / ~/Documents/Installous/Downloadsย้ายไปยัง


@ToolmakerSteve ฉันสงสัย แต่เมื่อเห็นว่าตอนนี้คุณสามารถโหลดแอพ iOS ด้วยแอปเปิ้ลไอดีใด ๆ ได้ฟรีฉันไม่เห็นความต้องการเลย
Richard J. Ross III 3

7

ด้วย Xcode 7 ที่กำลังจะมาถึงตอนนี้คุณสามารถติดตั้งแอปบนอุปกรณ์ของคุณโดยไม่มีใบอนุญาตผู้พัฒนาแอปเปิ้ลดังนั้นตอนนี้คุณสามารถข้ามแอพสโตร์ได้และคุณไม่ต้องแหกคุกอุปกรณ์ของคุณ

ตอนนี้ทุกคนสามารถรับแอพได้บนอุปกรณ์ Apple

ตอนนี้ Xcode 7 และ Swift ทำให้ทุกคนสามารถสร้างแอพได้ง่ายขึ้นและรันแอพโดยตรงบนอุปกรณ์ Apple ของพวกเขา เพียงลงชื่อเข้าใช้ด้วย Apple ID ของคุณและเปลี่ยนความคิดของคุณให้เป็นแอพที่คุณสามารถแตะบน iPad, iPhone หรือ Apple Watch ดาวน์โหลด Xcode 7 beta และลองด้วยตัวคุณเองวันนี้ ไม่จำเป็นต้องเป็นสมาชิกโปรแกรม

ยกมาจาก: https://developer.apple.com/xcode/

ปรับปรุง:

XCode 7 เปิดตัวแล้ว:

การพัฒนาบนอุปกรณ์ฟรี ตอนนี้ทุกคนสามารถเรียกใช้และทดสอบแอพของตัวเองบนอุปกรณ์ได้ฟรี คุณสามารถเรียกใช้และแก้ไขข้อบกพร่องในการสร้างสรรค์ของคุณเองบน Mac, iPhone, iPad, iPod touch หรือ Apple Watch โดยไม่เสียค่าธรรมเนียมและไม่มีโปรแกรมเข้าร่วม สิ่งที่คุณต้องทำคือป้อน Apple ID ฟรีของคุณลงใน Xcode คุณสามารถใช้ Apple ID เดียวกับที่ใช้กับ App Store หรือ iTunes เมื่อคุณทำให้แอปของคุณสมบูรณ์แบบแล้ว Apple Developer Program สามารถช่วยคุณได้ใน App Store

ดูการเปิดแอพของคุณบนอุปกรณ์สำหรับข้อมูลโดยละเอียดเกี่ยวกับการติดตั้งและใช้งานบนอุปกรณ์


4

เป็นที่น่าสังเกตว่าถ้าคุณไปสู่เส้นทางเจลเบรคที่เป็นไปได้ (น่าจะเป็นไปได้ไหม) ว่าการอัปเดต iPhone OS จะทำให้คุณไม่สามารถเรียกใช้แอพเหล่านี้ได้ ฉันจะไปเส้นทางที่เป็นทางการและชำระเงิน $ 99 เพื่อรับอนุญาต นอกเหนือจากการไม่ต้องกังวลเกี่ยวกับแอพของคุณที่ถูกบล็อกคุณยังได้รับโอกาส (คุณควรเลือก) เพื่อปล่อยแอพของคุณในสโตร์


2

หลังจากคัดลอกแอพไปยัง iPhone ตามวิธีที่อธิบายโดย @Jason Weathered ตรวจสอบให้แน่ใจว่า "chmod + x" ของแอพไม่เช่นนั้นจะไม่ทำงาน


1

* การเปลี่ยนแปลง / หมายเหตุเพื่อใช้งานกับXcode 3.2.1และ iPhone SDK 3.1.2

การปรับใช้ด้วยตนเองผ่าน WiFi

2) ให้แน่ใจว่าได้รีสตาร์ท Xcode หลังจากแก้ไข Info.plist

3) ไม่พบคำสั่ง "uicache" โดยใช้ killall -HUP SpringBoard ทำงานได้ดีสำหรับฉัน

นอกจากนั้นฉันสามารถยืนยันได้ว่าทำงานได้ดี

ผู้ใช้ Mac ที่ใช้ PwnageTool 3.1.4 ทำงานได้ดีเยี่ยมสำหรับ Jailbreaking (DL ผ่าน torrent)


อา. ขอบคุณ Jason ขอบคุณโพสต์เอกสารดี! อาจจะพูดถึงการติดตั้งแพ็กเกจ UIKit Tools ของ Cydia สำหรับ Jailbreak nubs อย่างตัวผมเอง
Rev316

1

หากคุณแพทช์/Developer/Platforms/iPhoneOS.platform/Info.plistแล้วลองดีบั๊กแอปพลิเคชันที่ทำงานบนอุปกรณ์โดยใช้โปรไฟล์การจัดเตรียมการพัฒนาจริงจาก Apple อาจไม่ทำงาน อาการคือข้อความแสดงข้อผิดพลาดแปลก ๆcom.apple.debugserverและคุณสามารถใช้ตัวระบุบันเดิลใด ๆ โดยไม่ได้รับข้อผิดพลาดเมื่อสร้างใน Xcode Info.plistการแก้ปัญหาคือการเรียกคืน


0

คุณสามารถใช้AppBoxแอปพลิเคชันสำหรับ Mac ที่ใช้บัญชีดรอปบ็อกซ์ของคุณเพื่อแจกจ่ายแอปพลิเคชันเฉพาะกิจและองค์กรหากคุณต้องการติดตั้งฟอร์มเบราว์เซอร์อื่น ๆ

https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases


ตัวเลือก

เก็บถาวรและอัปโหลด IPA

  • เพียงเลือกโครงการ / พื้นที่ทำงานเพื่อเก็บถาวร -> สร้าง ipa -> อัปโหลด ipa -> ส่งจดหมาย -> และปิดเครื่อง mac

อัปโหลด IPA เท่านั้น

  • เพียงเลือกไฟล์ IPA เพื่ออัปโหลด ipa -> ส่งเมล -> และปิดเครื่อง mac

ลักษณะเฉพาะ

  • เก็บลิงค์เดิม
    • คุณลักษณะนี้จะเก็บ URL แบบสั้นไว้เหมือนกันสำหรับ ipa ทั้งหมดในอนาคตที่อัปโหลดด้วยตัวระบุบันเดิลเดียวกัน
    • หากเปิดใช้งานตัวเลือกนี้คุณสามารถดาวน์โหลดบิลด์ก่อนหน้าด้วย URL เดียวกัน
  • ลิงก์การกระจายแอพอีเมลอัตโนมัติ
  • Auto Shutdown Macหลังจากการกระจาย
  • ขนาดการอัปโหลดสูงสุด => เท่ากับพื้นที่จัดเก็บบัญชี Dropbox ของคุณ
  • อัปโหลดแอปหมดอายุ => จนกว่าคุณจะลบออกจาก Dropbox ของคุณ
  • การติดตั้งต่อแอพ => ไม่ จำกัด
  • แผงควบคุม*

    * จะวางจำหน่ายในรุ่นอนาคต


AppBox vs Diawi

ภาพหน้าจอ

อัปโหลด IPA

เก็บถาวรและอัปโหลด IPA

กำลังอัปโหลด IPA

ลองดูที่นี่https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.