การปรับใช้แอประดับองค์กรไม่ทำงานบน iOS 7.1


317

เราแจกจ่ายแอพผ่านบัญชีองค์กรโดยใช้itms-services://URL สิ่งนี้ใช้ได้ดีเสมอ แต่หลังจากติดตั้ง iOS 7.1 เบต้าบน iPad ของเราแล้วก็ไม่ยอมติดตั้ง แต่เราเพิ่งได้รับCannot connect to example.comข้อความทั่วไปที่ iOS แสดงอย่างไม่ช่วยเหลือเมื่อมีปัญหาในการดาวน์โหลดแอพ

ฉันไม่พบสิ่งใดบน SO, บน Google หรือในบันทึกย่อรีลีส 7.1 เพื่อแนะนำสิ่งที่อาจทำให้เกิดปัญหา


1
สิ่งนี้รวมถึงการสร้างเซิร์ฟเวอร์ที่เป็นส่วนหนึ่งของ Mavericks Server หรือไม่?
Dan

สิ่งนี้หักสำหรับเราใน OS X Server ของเราเช่นกัน
toofah

บางทีนี่อาจช่วยให้teratotech.com/blog/…
HelmiB

คำตอบ:


330

ฉันพบปัญหาด้วยการเชื่อมต่อ iPad กับคอมพิวเตอร์และดูคอนโซลผ่าน XCode Organizer ขณะที่พยายามติดตั้งแอป ข้อผิดพลาดกลายเป็น:

ไม่สามารถโหลด URL รายการที่ไม่ใช่ https: http://example.com/manifest.plist

ปรากฎว่าใน iOS 7.1 URL ของmanifest.plistไฟล์จะต้องเป็น HTTPS ซึ่งเราใช้ HTTP อยู่ การเปลี่ยน URL เป็น HTTPS สามารถแก้ไขปัญหาได้

กล่าวคือ

itms-services://?action=download-manifest&url=http://example.com/manifest.plist

กลายเป็น

itms-services://?action=download-manifest&url=https://example.com/manifest.plist

ฉันจะสมมติว่าคุณต้องมีใบรับรอง SSL ที่ถูกต้องสำหรับโดเมนที่เป็นปัญหา เราทำไปแล้ว แต่ฉันคิดว่าคุณจะมีปัญหาหากไม่มี


5
คุณสามารถสร้างใบรับรอง SSL ที่ลงชื่อด้วยตนเองสำหรับเว็บไซต์ของคุณอย่าลืมสร้างโปรไฟล์โดยใช้ยูทิลิตี้การกำหนดค่า iPhone เพื่อทำให้ใบรับรองเชื่อถือได้บนอุปกรณ์ของคุณ
Niralp

1
@SantaClaus คุณได้ตรวจสอบว่าลิงก์ที่มี "itms-services: //" มี https: // ไม่ใช่ http: // หรือไม่ นอกจากนี้ให้ตรวจสอบว่าคุณมีอยู่ IPA Url กับ HTTPS เช่นกัน
Niralp

3
ฉันมีปัญหาเช่นเดียวกับ @Niralp ฉันตั้งค่าเซิร์ฟเวอร์ apache ของเราด้วยใบรับรอง SSL ที่ลงชื่อด้วยตนเอง เซิร์ฟเวอร์ดูเหมือนว่าจะทำงานกับ SSL ได้ดี แต่การเชื่อมโยง OTA ยังคงไม่ทำงานและแจ้งข้อผิดพลาดดังกล่าวข้างต้น ฉันติดตั้งใบรับรองบนอุปกรณ์ iOS แต่นั่นก็ไม่ได้สร้างความแตกต่างเช่นกัน ความคิดใด ๆ
toofah

5
ฉันสร้างผู้ออกใบรับรองของฉันเองและลงนามใบรับรอง SSL ของเว็บเซิร์ฟเวอร์ด้วย ผ่าน Apple Configurator คุณสามารถสร้างโปรไฟล์ที่ทำเครื่องหมาย CA นี้ว่าเชื่อถือได้ หลังจากนั้นการติดตั้งจะทำงานตามที่คาดไว้
Monobono

1
เป็นที่น่าสังเกตว่า URL ที่อยู่ในรายการ manifest.plist ไม่จำเป็นต้องเป็น HTTPS เฉพาะ URL ของ ITMS เท่านั้นที่จะต้องเป็น HTTPS
Brody Robertson

233

ingconti ถูกต้อง

  1. อัปโหลดแอปพลิเคชันของคุณไปยังดรอปบ็อกซ์
  2. รับลิงก์ที่แชร์ของ app.plist เช่นhttps://www.dropbox.com/s/qgknrfngaxazm38/app.plist
  3. แทนที่www.dropbox.comด้วยdl.dropboxusercontent.comในลิงก์เช่นhttps://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist
  4. ลบพารามิเตอร์ใด ๆ ในลิงก์ดรอปบ็อกซ์ที่แชร์ได้เช่น "? dl = 0t" (ตาม Carlos Aguirre Tradeco ที่การปรับใช้แอป Enterprise ไม่ทำงานบน iOS 7.1และประสบการณ์ของฉันเอง)
  5. สร้างdownload.htmlไฟล์ที่มีลิงก์ในรูปแบบเป็น<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
  6. อัปโหลดdownload.htmlไปยังดรอปบ็อกซ์
  7. อีกครั้งรับลิงก์ที่แชร์ของ download.html เช่นhttps://www.dropbox.com/s/gnoctp7n9g0l3hx/download.htmlและลบพารามิเตอร์ใด ๆ
  8. แทนที่www.dropbox.comด้วยdl.dropboxusercontent.comในลิงก์ที่สองเช่นกันเช่นhttps://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html

ตอนนี้ไปที่https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.htmlอุปกรณ์ของคุณคุณสามารถติดตั้งแอพได้เหมือนก่อน

โลกที่ยอดเยี่ยมคืออะไร!


4
นี่ช่วยเบคอนของฉัน! ขอบคุณขอบคุณขอบคุณ!
bentford

13
ขอบคุณ ... ฉันเป็นแฟนตัวยงของ Apple แต่เริ่มเกลียดมันในทุกวันนี้ .. เพราะสิ่งที่โง่ ๆ เหล่านี้ทำให้ฉัน
พัง

1
ฉันทำตามขั้นตอนทั้งหมดข้างต้นแล้ว ฉันกำลังเผชิญกับปัญหาเดียวกันเช่น DanM การดาวน์โหลดจะเริ่มขึ้น แต่หลังจากนั้นไม่กี่วินาทีการแจ้งเตือน "... ไม่สามารถดาวน์โหลดได้ในเวลานี้" จะมีขึ้น
alper_k

1
ฉันได้รับข้อผิดพลาดนี้: "ไม่สามารถเชื่อมต่อกับ dl.dropboxusercontent.com" เมื่อพยายามติดตั้ง <a href = "itms-services: //? action = download-manifest & amp; url = dl.dropboxusercontent.com/s/56ny312cwdacho7 /xxxxx.plist > ด้วย https
nano

1
ฉันเข้าใจแล้วก่อนหน้านี้ฉันบันทึกไฟล์ไว้ในโฟลเดอร์ส่วนตัวของฉันอีกครั้งฉันเปลี่ยนไฟล์เหล่านั้นเป็นโฟลเดอร์สาธารณะอย่าลืมใส่ไฟล์ลงในโฟลเดอร์สาธารณะไฟล์บันทึก Oldman
Hariprasad.J

72

นอกเหนือจากคำตอบของ Mark Parnell แล้ววิธีที่รวดเร็วและสกปรกในการแก้ไขปัญหานี้คือการวางรายการที่ชัดแจ้งใน Dropbox จากนั้นใช้เว็บอินเตอร์เฟส Dropbox เพื่อรับลิงค์ https โดยตรง ('แชร์ลิงก์' -> ' รับลิงค์ '->' ดาวน์โหลด ')

IPA ที่แท้จริงสามารถอยู่ได้ทุกที่ที่คุณให้บริการเสมอ คุณจะต้องเข้ารหัส URL ของ Plist ก่อนที่จะแทรกลงในแบบสอบถามของ itms-servivces URL (แม้ว่าจะแทนที่ & s ด้วย% 3D อาจทำงานได้)

ข้อเสียอย่างหนึ่งคือกล่องโต้ตอบการติดตั้งจะอ่าน "dl.dropbox.com ต้องการติดตั้ง [อะไรก็ตาม"


ฉันไม่คิดอย่างนี้! ขอบคุณ!
ซานตาคลอส

ใช้เวลาสักหน่อยเพื่อรับค่า URL (เข้ารหัส) แต่ในที่สุดก็เริ่มทำงานได้ ขอบคุณ!
David Dunham

ทางออกที่ฉลาด: D ขอบคุณ!
MobileGuy

ไมค์ขอบคุณมากในที่สุดก็ทำมันออกมา! ช่วยชีวิต!
adamteale

ฉันทำเครื่องมือในการช่วยเหลือเกี่ยวกับการนี้: otter-ota.herokuapp.com มันจะปรับเปลี่ยน URL แชร์ดรอปบ็อกซ์ของคุณสร้าง Plist โดยอัตโนมัติ (เนื่องจาก xcode ไม่ทำเช่นนี้อีกแล้ว) และสร้างลิงก์ itms และ html ที่ต้องการ นอกจากนี้ยังสามารถโฮสต์หน้า Landing Page ได้หากต้องการ
ซุป

36

มันเป็นความจริงก้าวไปข้างหน้าคุณคาดว่าจะทำการปรับใช้ OTA ทั้งหมดผ่าน https ไปข้างหน้าด้วย iOS7.1 อัปยศใน Apple เพราะไม่ได้บันทึกเรื่องนี้

สำหรับบรรดาของคุณที่กำลังมองหาวิธีการแก้ปัญหาในบ้านที่ดีกว่าการใช้ Dropbox หรือไม่ต้องจ่ายเงินสดสำหรับใบรับรองคุณสามารถมีทางออกถ้าคุณทำตามขั้นตอนที่ระบุไว้ในเคล็ดลับที่ 5 ที่นี่: http: // บล็อก httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/

ส่วนสำคัญของมันคือ:

  • สร้างใบรับรอง CA Authority ของคุณเองที่คุณสามารถติดตั้งบนอุปกรณ์ที่เชื่อถือได้อย่างเต็มที่ (ฉันติดตั้งโดยเพียงแค่ส่งอีเมล)
  • สร้างคู่คีย์ / cer เทียบกับใบรับรองหลักและติดตั้งบนเซิร์ฟเวอร์ของคุณ
  • ตรวจสอบให้แน่ใจว่าเว็บเซิร์ฟเวอร์ของคุณใช้คู่คีย์ / cer ที่ตรงกับใบรับรองหลัก CA Authority
  • ถึงตอนนี้คุณควรจะสามารถติดตั้งแอพได้ตามปกติผ่าน https
  • ทั้งหมดนี้สามารถทำได้บน OSX โดยใช้ openssl ซึ่งติดตั้งไว้แล้วโดยค่าเริ่มต้น

นี่ไม่เหมือนกับการทำใบรับรองที่ลงนามเองในโซลูชันนี้คุณยังทำหน้าที่เป็นผู้ออกใบรับรองส่วนตัวของคุณเอง หากใบรับรองหลักที่ติดตั้งบนอุปกรณ์ Apple ของคุณไม่ได้ทำเครื่องหมายว่าเชื่อถือได้ (สีเขียว) แสดงว่ามีบางอย่างผิดปกติ ทำมันมากกว่า

มันใช้งานได้ดีอย่างแน่นอน

ปรับปรุง: 3/13/2014 - ฉันได้จัดเตรียมยูทิลิตีบรรทัดคำสั่งขนาดเล็กที่ทำให้กระบวนการทั้งหมดนี้ง่ายขึ้น คุณสามารถรับได้ที่: https://github.com/deckarep/EasyCert/releases


1
ดีมาก. ขอบคุณสำหรับบทสรุปและเครื่องมือ CL
Alex Zavatone

ฉันใช้เวลาหนึ่งชั่วโมงหาบิตนี้ การใช้คีย์ 8192 บิตสำหรับใบรับรอง CA ของคุณจะล้มเหลว iOS จะนำเข้าใบรับรองของคุณ แต่จะไม่เชื่อถือด้วยเหตุผลใดก็ตาม คีย์ CA 4096 บิตทำงานได้
EmeraldD

1
@EmeraldD ไม่มีที่ใดในรหัส: github.com/deckarep/EasyCert/blob/master/EasyCert.goที่ใช้คีย์ 8192 บิต ในความเป็นจริงเครื่องมือใช้คีย์ที่มี 2048 เช่นเดียวกับบทความแสดงให้เห็นถึง ขอโทษที่คุณเสียเวลา
Ralph Caraveo

@ZhaoXiang ฉันดูที่การเพิ่มนี้ คุณคิดจะยื่นปัญหาที่นี่หรือไม่: github.com/deckarep/easycert/issuesและหากเป็นไปได้ที่จะโพสต์คำสั่งทั้งหมดที่คุณใช้ในการแปลงไฟล์ทั้งหมดตามต้องการ
Ralph Caraveo

1
นี่คือคำตอบจริง ๆ ผู้ชาย +1 :))
Tech_Intelliswift

33

ฉันมีปัญหาเดียวกันและถึงแม้ว่าฉันกำลังใช้เซิร์ฟเวอร์ SSL อยู่แล้วเพียงแค่เปลี่ยนการเชื่อมโยงไปยัง https ไม่ทำงานเนื่องจากมีปัญหาพื้นฐาน

ป้อนคำอธิบายรูปภาพที่นี่ คลิกที่นี่เพื่อดูรูปภาพ

บิตที่ไฮไลต์บอกฉันว่าเราควรได้รับตัวเลือกในการเชื่อถือใบรับรอง แต่เนื่องจากนี่คือแอปสโตร์ทำงานผ่าน Safari ซึ่งข้อเสนอแนะการกู้คืนไม่ปรากฏขึ้น


ฉันไม่พอใจกับวิธีแก้ไขปัญหาที่มีอยู่เพราะ:

  • ตัวเลือกบางอย่างต้องขึ้นอยู่กับบุคคลที่สาม (Dropbox)
  • เราไม่ยินดีจ่ายใบรับรอง SSL
    • ใบรับรอง SSL ฟรีเป็นเพียงโซลูชันชั่วคราว

ในที่สุดฉันก็พบวิธีแก้ปัญหาโดยการสร้างผู้ออกใบรับรองรูท Self Signedและสร้างใบรับรอง SSL ของเซิร์ฟเวอร์ของเราโดยใช้สิ่งนี้

ฉันใช้ Keychain Access และ OSX Server แต่มีวิธีแก้ไขปัญหาที่ถูกต้องอื่น ๆ ในแต่ละขั้นตอน


การสร้างผู้ออกใบรับรอง

จากสิ่งที่ฉันรวบรวมเจ้าหน้าที่ออกใบรับรองจะใช้ในการตรวจสอบว่าใบรับรองเป็นของแท้หรือไม่ เนื่องจากเรากำลังจะสร้างตัวเราเองจึงไม่ปลอดภัยอย่างแน่นอนแต่หมายความว่าคุณสามารถเชื่อถือใบรับรองทั้งหมดจากหน่วยงานที่ได้รับมอบหมาย รายการของหน่วยงานเหล่านี้มักจะรวมอยู่ในเบราว์เซอร์ของคุณตามปกติเนื่องจากเชื่อถือได้จริง (GeoTrust Global CA, Verisign และอื่น ๆ )

  • เปิด Keychain และใช้ผู้ช่วยใบรับรองเพื่อสร้างสิทธิ์

ป้อนคำอธิบายรูปภาพที่นี่

  • กรอกข้อมูลผู้ให้บริการออกใบรับรองของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

  • ฉันไม่รู้ว่ามันจำเป็นหรือไม่ แต่ฉันทำให้ผู้มีอำนาจเชื่อถือได้

ป้อนคำอธิบายรูปภาพที่นี่


การสร้างคำขอลงนามใบรับรอง

ในกรณีของเราคำขอการลงนามใบรับรองสร้างขึ้นโดยผู้ดูแลเซิร์ฟเวอร์ เพียงแค่เป็นไฟล์ที่ถามว่า "ฉันขอใบรับรองกับข้อมูลนี้สำหรับเว็บไซต์ของฉันได้ไหม"

  • ต่อไปคุณจะต้องสร้างคำขอลงนามใบรับรอง (ฉันใช้ตัวจัดการใบรับรองของเซิร์ฟเวอร์ OSX สำหรับบิตนี้

ป้อนคำอธิบายรูปภาพที่นี่

  • กรอกข้อมูลใบรับรองของคุณ (ต้องมีตัวอักษร ASCII เท่านั้น! ขอบคุณ @Jasper Blues)

ป้อนคำอธิบายรูปภาพที่นี่

  • บันทึกการสร้าง CSR ที่ไหนสักแห่ง

ป้อนคำอธิบายรูปภาพที่นี่


สร้างใบรับรอง

ทำหน้าที่เป็นผู้ออกใบรับรองอีกครั้งขึ้นอยู่กับคุณที่จะตัดสินใจว่าคนที่ส่ง CSR ให้คุณนั้นเป็นของแท้หรือไม่และพวกเขาไม่ได้แกล้งเป็นคนอื่น เจ้าหน้าที่ที่แท้จริงมีวิธีการของตนเองในการทำเช่นนี้ แต่เนื่องจากคุณหวังว่าคุณจะแน่ใจว่าคุณคือตัวคุณการยืนยันของคุณจึงค่อนข้างแน่นอน :)

  • กลับไปที่ Keychain Access และเปิดตัวเลือก "สร้างใบรับรอง .. " ตามที่แสดง

ป้อนคำอธิบายรูปภาพที่นี่

  • ลาก CSR ที่คุณบันทึกไปยังกล่องที่ระบุ

ป้อนคำอธิบายรูปภาพที่นี่

  • คลิกปุ่ม "ให้ฉันแทนที่ค่าเริ่มต้นสำหรับปุ่มคำขอนี้"

ป้อนคำอธิบายรูปภาพที่นี่

  • ฉันชอบที่จะเพิ่มระยะเวลาที่ถูกต้อง

ป้อนคำอธิบายรูปภาพที่นี่

  • ด้วยเหตุผลบางอย่างเราต้องกรอกข้อมูลอีกครั้ง

ป้อนคำอธิบายรูปภาพที่นี่

  • คลิกดำเนินการต่อบนหน้าจอนี้

ป้อนคำอธิบายรูปภาพที่นี่

  • ทำให้แน่ใจว่าคุณคลิกการยืนยันเซิร์ฟเวอร์ SSLนี่ทำให้ฉันปวดหัว

ป้อนคำอธิบายรูปภาพที่นี่

  • คุณสามารถคลิกดำเนินการต่อผ่านตัวเลือกที่เหลือ

  • แอปอีเมลจะเปิดขึ้นเพื่อให้คุณมีโอกาสส่งใบรับรอง แทนที่จะส่งอีเมลให้คลิกขวาและบันทึก

ป้อนคำอธิบายรูปภาพที่นี่


การติดตั้งใบรับรอง

ตอนนี้เราต้องตั้งค่าเซิร์ฟเวอร์เพื่อใช้ใบรับรองที่เราเพิ่งสร้างขึ้นเพื่อรับส่งข้อมูล SSL

  • หากอุปกรณ์ของคุณทำงานเป็นเซิร์ฟเวอร์ของคุณคุณอาจพบว่าติดตั้งใบรับรองแล้ว

ป้อนคำอธิบายรูปภาพที่นี่

  • หากไม่ใช่ให้คลิกสองครั้งที่ใบรับรองที่รอดำเนินการและลากไฟล์ PEM ที่เราเพิ่งบันทึกจากอีเมลลงในช่องว่างที่ระบุ (หรือมิฉะนั้นคุณสามารถส่งออก PEM ของคุณจากพวงกุญแจหากคุณไม่ได้บันทึกไว้)

ป้อนคำอธิบายรูปภาพที่นี่

  • อัปเดตเซิร์ฟเวอร์ของคุณเพื่อใช้ใบรับรองใหม่นี้ หากคุณพบว่าใบรับรองใหม่จะไม่ "ติด" และทำการคืนค่าให้ย้อนกลับไปที่บิตในBOLD ITALIC CAPS

ป้อนคำอธิบายรูปภาพที่นี่


การตั้งค่าอุปกรณ์

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

  • กลับไปที่ Keychain Access และส่งออกหน่วยงานออกใบรับรองของคุณเป็น

ป้อนคำอธิบายรูปภาพที่นี่

  • จากนั้นฉันวางไฟล์นี้ไว้บนเซิร์ฟเวอร์ของฉันด้วยแอพ OTA ของฉันผู้ใช้สามารถคลิกที่ลิงค์นี้และดาวน์โหลดใบรับรองสิทธิ์ การส่งใบรับรองโดยตรงไปยังผู้ใช้ก็เป็นทางเลือกที่ถูกต้องเช่นกัน

ป้อนคำอธิบายรูปภาพที่นี่

  • ติดตั้งใบรับรองบนอุปกรณ์ของคุณ

ป้อนคำอธิบายรูปภาพที่นี่


ทดสอบ

  • ตรวจสอบให้แน่ใจว่าลิงก์ Plist ของคุณนั้นเป็น https

    • ลองและติดตั้งแอพ! มันควรจะทำงาน หน่วยงานออกใบรับรองเชื่อถือได้และใบรับรอง SSL มาจากหน่วยงานนั้น

ฉันไม่เข้าใจคำตอบสุดท้ายของคุณค่อนข้างมากหมายความว่าฉันต้องใส่ไฟล์. cer บนเซิร์ฟเวอร์ของฉันผู้ใช้ควรดาวน์โหลด. cer ผ่าน HTTP ก่อนที่เขา / เธอจะสามารถติดตั้ง ipa ผ่าน HTTPS ได้ฉันเข้าใจถูกต้องแล้ว ?
Zhao Xiang

โปรดทราบว่า. เซอร์ไม่จำเป็นต้องผ่าน HTTP เนื่องจาก Safari จะแสดงอินเทอร์เฟซ "คุณต้องการเชื่อถือใบรับรองนี้" ที่แอพสโตร์ละเลย
James Webster

1
ฉันทำกระบวนการนี้โดยอัตโนมัติอย่างสมบูรณ์ด้วยเครื่องมือบรรทัดคำสั่งที่ใช้งานง่ายซึ่งต้องการเพียงสองพารามิเตอร์เท่านั้น ดูคำตอบของฉันเกี่ยวกับ: github.com/deckarep/EasyCert/releases
Ralph Caraveo

ฉันใช้ IIS บน Windows Server ฉันได้สร้างไฟล์. cer และวางไว้บน iPhone ของฉัน แต่ก็ยังใช้งานไม่ได้ไม่รู้ว่าทำไม ฉันคิดว่าฉันควรจะใช้จ่ายเงินในการรับรองตอนนี้
Zhao Xiang

1
โปรดทราบว่าใบรับรองที่ต้องติดตั้งบนอุปกรณ์นั้นเป็นCertificate Authorityใบรับรองและไม่ใช่ใบรับรอง SSL ที่ลงชื่อเองเนื่องจากฉันติดตั้งผิดพลาดในครั้งแรก
NSTJ

6

ฉันยืนยันได้ว่ามันใช้งานได้ แต่คุณต้องใส่ html และ plist ลงในดรอปบ็อกซ์ ใช้ได้กับ OTA ที่ไม่ใช่ขององค์กรเช่นคุณต้องการแชร์แอปกับอุปกรณ์ของคุณ ทีม.

ฉันทำ:

a) บนเว็บไซต์ของฉันฉันทำหน้าด้วยลิงค์นี้:

.. href = "https://dl.dropboxusercontent.com/u//( รหัสฐานข้อมูลของคุณ) /ipa.html"> MyApp

b) บน DropBox ฉันเขียนหน้า HTML อีกอัน:

.. https://dl.dropboxusercontent.com/u/(your id id) /MyApp.plist "> แตะเพื่อติดตั้ง MyApp

c) ย้าย plist บน DropBox แต่ปล่อยให้ POINT ไปยังเซิร์ฟเวอร์เครื่องเก่าของฉัน (ไม่มี https)


7
ฉันไม่จำเป็นต้องใส่ html และดูเหมือนว่าจะทำงานได้ดี เพียงแค่มีอยู่ก็พอแล้ว
Ben G

ข้อไหนคือ btw นี้? มันเป็น app.plist หรืออันที่สร้างขึ้นเมื่อสร้างไฟล์ IPA หรือไม่
user1872384

3

เปิดเทอร์มินัลแล้วเรียกใช้คำสั่ง: curl -i https: // (.ipa ไฟล์พา ธ ไม่ได้มีอยู่)

สิ่งนี้จะบอกคุณว่าตัวติดตั้งสามารถดูไฟล์ IPA ได้หรือไม่ หากคุณเรียกใช้คำสั่ง curl ด้วย '-i' คุณจะเห็นการตอบกลับทั้งหมดและอาจไม่ใช่ไฟล์ IPA นี่คือการตอบสนองที่โปรแกรมติดตั้งเห็นดังนั้นหากมันไม่ได้ส่งคืน HTTP 200 และ IPA คุณจะต้องส่งคืนในตอนท้าย

ตัวติดตั้ง ITMS ไม่ได้บันทึกบริบทใด ๆ จาก Safari หากคุณตรวจสอบสิทธิ์ในพอร์ทัลที่ปลอดภัยใน Safari คุกกี้การตรวจสอบความถูกต้องจะไม่ถูกส่งไปยังตัวติดตั้ง เช่นตัวติดตั้งจะต้องสามารถดูแอปได้โดยไม่ต้องมีการตรวจสอบสิทธิ์และนี่อาจเป็นเหตุผลที่คุณได้รับ 'ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์'


สิ่งนี้มีประโยชน์มากสำหรับฉัน ขอบคุณ!
Stanislav Pankevich

คุณกำลังขอให้เรียกใช้คำสั่งจากแอปพลิเคชันเทอร์มินัลใน iPhone หรือใน MACBook? ดูเหมือนว่าฉันกำลังเผชิญปัญหาเดียวกัน
user867662

2

ฉันมีปัญหาเดียวกันและทำตามที่กล่าวไว้ข้างต้น

  • วางโปรแกรมไว้ในดรอปบ็อกซ์
  • เหนือปุ่มดาวน์โหลดไฟล์ด้านล่างภาพของเอกสารด้วยปุ่มขวาของเมาส์เลือกการเชื่อมโยงการคัดลอก ลิงค์นี้มีลักษณะคล้าย กับhttps://dl.dropboxusercontent.com/s/xyz123/app.plist?stuff=stuffจากหลาย ๆ พารามิเตอร์
  • ลบพารามิเตอร์ (เก็บเฉพาะที่อยู่ระหว่าง https และ. plist)
  • เรียกดูการเข้ารหัส URL ออนไลน์เลือกหนึ่งในลิงก์เหล่านั้นคัดลอกวางดำเนินการแล้วคัดลอกข้อความที่ได้และวางลงใน html ที่ฉันมีลิงค์ itms-services โดยวิธีการที่ฉันมี html นี้ในสองสถานที่ที่แตกต่างกันหนึ่งในนั้นคือที่ตั้ง IPA
  • ตรวจสอบให้แน่ใจว่า Plist มีการอ้างอิงสัมบูรณ์ไปยังไฟล์ ipa

ทั้งสองหน้าทำงานได้สำเร็จสำหรับการติดตั้งแอพใน iphones ด้วย ios 7.1

แต่ตอนนี้ iphones กับ ios 7.0x ไม่สามารถติดตั้งแอพได้

ฉันสร้างคำถามใหม่: การปรับใช้แอป adhoc ที่อัปเกรดแล้วไม่ทำงานบน iOS ก่อนหน้า 7.1

ทั้งสองประเด็นมีความสัมพันธ์กันแน่นหนาและถูกผูกมัดจากการที่ไม่มีการอ้างอิงอย่างเป็นทางการ


2

ผู้ชายที่น่ารักบางคนจัดการปัญหานี้โดยใช้ใบรับรอง Class 1 StartSSL และการกำหนดค่า Apache ที่แชร์ซึ่งเพิ่มการสนับสนุนใบรับรอง (จะทำงานกับใบรับรองใด ๆ ) และรหัสสำหรับการเปลี่ยนลิงค์ในไฟล์ * .plist ที่มีอยู่โดยอัตโนมัติ ยาวเกินไปในการคัดลอกดังนั้นนี่คือลิงค์: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/


2

หากคุณมี AWS S3 ที่ใช้งานได้ดี ดี. ค่อนข้างพูด :-)

สร้างที่เก็บข้อมูลสำหรับโฆษณา hocs ของคุณใน AWS เพิ่มไฟล์ดัชนี (อาจเป็นไฟล์ index.html ที่ว่างเปล่า) จากนั้นใช้ไคลเอนต์ที่สามารถเชื่อมต่อกับ S3 เช่น CyberDuck หรือ Coda (ฉันใช้ Coda - ที่คุณเลือกเพิ่ม ไซต์เพื่อรับหน้าต่างการเชื่อมต่อ) จากนั้นตั้งค่าการเชื่อมต่อเช่นไฟล์แนบ:

จากนั้นสร้างองค์กรเฉพาะกิจของคุณใน XCode และตรวจสอบให้แน่ใจว่าคุณใช้https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipaเป็น URL แอปพลิเคชันและอัปโหลด ไปยังไดเรกทอรีถัง S3 ใหม่ของคุณ

ลิงก์ itms ของคุณควรตรงกับเช่น itms-services: //? action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist

และvoilá

นี่เป็นเพียงสำหรับ AWS URL ทั่วไป - ฉันไม่ได้ลอง URL ที่กำหนดเองใน AWS ดังนั้นคุณอาจต้องทำบางสิ่งที่แตกต่าง

ฉันตั้งใจแน่วแน่ว่าจะพยายามทำให้ทางออกของ James Webster ทำงานได้ แต่ฉันไม่สามารถทำงานกับ Plesk ได้


1

เพื่อเป็นทางเลือกแทนการใช้ Dropbox สำหรับการจัดจำหน่ายขององค์กรคุณสามารถใช้ TestFlight สำหรับการจัดจำหน่ายแอพที่ลงนามโดยองค์กร

https://www.testflightapp.com/

นี่คือบริการที่ยอดเยี่ยมสำหรับการโฮสต์และการกระจายของทั้งการพัฒนาแบบเฉพาะกิจและการสร้างองค์กร


1
แดกดันเห็นได้ชัดว่าได้รับ Testflight จาก Apple techcrunch.com/2014/02/21/ …
Thunder Rabbit

1
ตอนนี้ Apple ได้ซื้อ Testflight แล้วพวกเขากำลังสนับสนุน Android
Brody Robertson

1

นอกจากคำตอบก่อนหน้าเกี่ยวกับ Dropbox ฉันได้ติดตั้งโครงสร้างไฟล์ต่อไปนี้เช่นต้องอัพโหลดไฟล์ PLIST ไปยัง Dropbox เท่านั้น:

  1. อัปโหลดไฟล์ ipa ไปยังเซิร์ฟเวอร์ของคุณใน http (ไม่มีการเปลี่ยนแปลงที่นี่)
  2. อัปโหลดไฟล์การจัดสรร (.mobileprovision) ไปยังเซิร์ฟเวอร์ของคุณใน http (ไม่มีการเปลี่ยนแปลงที่นี่)
  3. อัปโหลดไฟล์ plist ไปยังดรอปบ็อกซ์ของคุณ(ไม่มีการเปลี่ยนแปลงสิ่งที่ต้องทำในไฟล์ plist เนื่องจาก URL นั้นสมบูรณ์
  4. ใช้ตัวเลือก "แชร์ลิงก์กับ Dropbox" ซึ่งคัดลอกลิงก์ไปยังคลิปบอร์ดของคุณ ลิงค์นี้จะต้องมีการคัดลอกลงในไฟล์ html ของคุณลงใน itms-servivces แบบสอบถามของ URL หลังจากเปลี่ยนส่วนหนึ่งโดยwww.dropbox.com dl.dropboxusercontent.comหมายเหตุฉัน URL เข้ารหัสลิงก์ตามที่แนะนำโดย @ ไมค์ แต่ฉันไม่ได้ทดสอบโดยไม่ต้องทำ ตอนนี้แบบสอบถามของ itms-services URL ควรมีลักษณะเช่นนี้:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist

  5. อัปโหลดไฟล์ html ไปยังเซิร์ฟเวอร์ของคุณใน http หมายเหตุไฟล์ html มีทั้งลิงก์ไปยัง ipa และไฟล์การจัดเตรียม

  6. เข้าถึงไฟล์ html ของคุณจากอุปกรณ์ของคุณและตอนนี้ IPA สามารถติดตั้งได้โดย OTA เหมือนปกติ

จากนี้ไปจะต้องเปลี่ยนเฉพาะไฟล์ ipa เพื่อให้แอปรุ่นต่อไปโดย OTA ไปยังผู้ทดสอบเบต้าของคุณ จนกว่า Apple จะเปลี่ยนกฎความปลอดภัย

ฉันเข้าร่วมที่นี่หลังจากไฟล์ HTML ที่ใช้ง่ายมาก:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>iPhone app for test</title>
</head>
<body>
<h1>iPhone app for test</h1>
<br/>
<ul>
    <li><a href="http://www.yourdomain.com/with/directories/provision/v.last/yourprovision_adhoc.mobileprovision">
            Install Provisioning File</a></li>
    <li><a href="itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist">
            Install Application</a></li>
</ul>
</body>
</html>

1
FYI สามารถใช้ลิงก์ต่อไปนี้เพื่อเข้ารหัส URL: w3schools.com/tags/ref_urlencode.asp
Lisarien

0

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

      ....
     <string>software</string>
    <key>title</key>
     <string>Your App Name</string>
      ...

0

หลังจากอ่านโพสต์นี้ฉันยังคงมีปัญหากับการดาวน์โหลดแอพของฉัน ปัญหาเกิดขึ้นเนื่องจากใบรับรอง SSL ที่ลงชื่อด้วยตนเอง

ฉันพบวิธีแก้ปัญหาสำหรับปัญหานี้แล้ว คุณต้องอัปโหลดไฟล์ใบรับรองด้วยส่วนขยาย '.crt' บนเว็บและพิมพ์ที่อยู่ของไฟล์นั้นใน Safari mobile ของคุณ ระบบถามคุณเกี่ยวกับการเพิ่มใบรับรองของคุณไปยังรายการใบรับรองที่เชื่อถือได้ หลังจากการดำเนินการนี้คุณจะสามารถติดตั้งแอปเฉพาะกิจของคุณ


0

ทางออกสากลคือการเชื่อมต่ออุปกรณ์ของคุณกับ Mac และสังเกตสิ่งที่เกิดขึ้นระหว่างการติดตั้ง ฉันพบข้อผิดพลาด:

ไม่สามารถโหลดรายการดาวน์โหลดที่มีข้อผิดพลาดพื้นฐาน: โดเมนผิดพลาด = NSURLErrorDomain รหัส = -1202 "ไม่สามารถเชื่อมต่อกับร้านค้า" UserInfo = 0x146635d0 {NSLocalizedDescription = ไม่สามารถเชื่อมต่อกับร้านค้าได้ NSLocalizedRecoverySuggestion = คุณต้องการเชื่อมต่อกับเซิร์ฟเวอร์หรือไม่? = ไม่สามารถสร้างการเชื่อมต่อที่ปลอดภัย โปรดตรวจสอบการตั้งค่าวันที่และเวลาของคุณ , NSErrorFailingURLStringKey = https://myserver.com/app/manifest.plist , NSUnderlyingError = 0x14678880 "ใบรับรองสำหรับเซิร์ฟเวอร์นี้ไม่ถูกต้องคุณอาจกำลังเชื่อมต่อกับเซิร์ฟเวอร์ที่อ้างว่าเป็น" myserver.com "ซึ่งอาจทำให้คุณ ข้อมูลลับที่มีความเสี่ยง ", NSURLErrorFailingURLPeerTrustErrorKey =, NSErrorFailingURLKey =https://myserver.com/app/manifest.plist }

แม้กระทั่งข้อเสนอแนะในข้อผิดพลาดนั้นเพื่อตรวจสอบการตั้งค่าวันที่ ด้วยเหตุผลบางอย่างวันที่คือ 1 มกราคม 1970 การตั้งค่าวันที่ที่ถูกต้องแก้ปัญหาได้


-1

แอพเตอร์พยายามที่จะเปลี่ยนแปลงไปitms-services://?action=download-manifest&url=http://.... itms-services://?action=download-manifest&url=https://....มันไม่สามารถใช้งานได้ cannot connect to my domainการแจ้งเตือนคือ ฉันพบว่ายังต้องปรับปรุงหน้าเว็บด้วย

ปัญหาไม่ได้อยู่ที่ URL หลักที่เป็น HTTPS แต่มีรหัส HTML บางส่วนในลิงค์ภายในหน้าเว็บ คุณจะต้องให้นักพัฒนาซอฟต์แวร์อัปเดตหน้าเว็บ ฉันยังสังเกตเห็นว่าไม่มีใบรับรอง SSL ที่ถูกต้องในโดเมนการแสดงละครของคุณดังนั้นคุณจะต้องติดตั้งหรือใช้ Dropbox และนี่คือลิงค์อาจมีประโยชน์สำหรับคุณ

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