วิธีที่เหมาะสมในการต่ออายุใบรับรองการแจกจ่ายสำหรับ iOS


303

ใบรับรองการแจกจ่ายของฉันกำลังจะหมดอายุในวันที่ 7 มิถุนายนพร้อมกับไฟล์การเตรียมการทั้งหมดของฉัน ฉันจะต่ออายุอย่างถูกต้องได้อย่างไร? ฉันควรยกเลิกตอนนี้และขอใหม่หรือไม่ หากฉันทำอย่างนั้นแอพที่ใช้งานจริงทั้งหมดของฉันจะถูกถอดออก?


7
ไม่ว่าจะด้วยเหตุผลใดก็ตามหลังจากไม่ได้ใช้บัญชีนี้เป็นเวลาหลายปีฉันได้รับการแจ้งเตือนเกี่ยวกับคำตอบนี้ ฉันยังไม่ตาย (ยัง) ฉันยังอยากจะขอบคุณทุกคนใน StackOverflow เป็นเวลาหลายปีที่ช่วยฉัน ฉันเขียนคำถามนี้เมื่อฉันอายุ 14 (ตอนนี้ 21) ตั้งแต่นั้นมาฉันสร้างแอพ iOS ต่อไปและจะเริ่มบทบาทเต็มเวลาที่ Apple (ในฝันของฉันตราบเท่าที่ฉันจำได้) ขอบคุณอีกครั้งสำหรับทุกคนที่ช่วยไปพร้อมกัน!
user1413558

เรื่องที่ดี! ใช่ปีผ่านไป! คุณไม่สามารถจินตนาการได้เลยว่าการเขียนโปรแกรมเสร็จสิ้นก่อน QA ออนไลน์ ไชโย
Fattie

@Fattie ทำไมคำเตือน? การเปลี่ยนแปลง UI ขนาดเล็กบนหน้าของ Apple นั้นยังเป็นคำตอบที่ยอมรับได้ ไม่ใช่ทุกสิ่งที่จะผิดโดยอัตโนมัติเพียงเพราะมันเก่า
ธีโอ

สวัสดี @ Theo ฉันคิดว่ามีการสนทนานาน (ลบตอนนี้) ดังนั้นความคิดเห็นของฉัน (ฉันเพิ่งลบมัน!) ทำให้รู้สึกไม่เฉพาะขอบคุณสำหรับการชี้ให้เห็น โปรดทราบว่าในกรณีเฉพาะนี้คำตอบเก่า 5 ปีที่ Ticked มีข้อมูลที่ไม่ถูกต้องเช่น SLBarth อธิบาย
Fattie

คำตอบ:


357

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

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

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

เกี่ยวกับโปรไฟล์การจัดสรรไม่ต้องกังวลกับมันก่อนหมดอายุเพียงใช้ต่อไป มันง่ายพอที่จะต่ออายุเมื่อหมดอายุ

ความสงบของจิตใจคือไม่มีสิ่งใดจะเกิดขึ้นกับแอพที่ใช้งานจริงของคุณในร้าน


7
ขอบคุณพวกเขาหมดอายุวันนี้ ต่ออายุพวกเขาโดยไม่มีปัญหา
user1413558

30
แค่ fyi สำหรับคนอื่น ฉันเพิกถอนใบรับรองที่ใช้สำหรับการแจกจ่ายระดับองค์กรและไม่ได้รับตัวเลือกในการต่ออายุใบรับรอง มันเพิ่งหายไป แอพหยุดทำงาน (ไม่สามารถติดตั้งได้) จนกว่าฉันจะสร้างใหม่ด้วยใบรับรองใหม่
foldlettuce

34
เฮ้อย่าเพิกถอนใบรับรองภายในของคุณ !! แอพในบ้านของคุณจะไม่ทำงานหลังจากรีบูต / 3 วันเว้นแต่ว่าคุณจะสามารถอัปเดตแอปทั้งหมดของคุณในช่วงเวลานั้น Apple อนุญาตให้คุณสร้างแอพภายใน 2 แอพเพื่อให้สามารถซ้อนทับกันจากนั้นคุณอัปเดตแอพใหม่ด้วย อย่าเพิกถอน มีเพียงสิ่งเดียวที่คุณสามารถเพิกถอนได้คือ App-Store Cert โดยไม่ต้องหยุดแอพที่มีอยู่
mskw

13
พูดอย่างเคร่งครัดคุณไม่สามารถต่ออายุใบรับรองได้คุณต้องสร้างใบรับรองใหม่ - ดูdeveloper.apple.com/library/ios/#documentation/IDEs/Conceptual/
......

2
อัปเดตลิงก์ไปยังเอกสารของ Apple เกี่ยวกับเรื่องนี้: developer.apple.com/library/ios/documentation/IDEs/Conceptual/
......

348

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

การแทนที่ใบรับรองที่หมดอายุ

เมื่อใบรับรองการพัฒนาหรือการแจกจ่ายของคุณหมดอายุให้ลบออกและขอใบรับรองใหม่ใน Xcode

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

ถาม: ถ้าฉันทำอย่างนั้นแอพสดทั้งหมดของฉันจะถูกถอดออกหรือไม่

แอพที่มีอยู่แล้วใน App Store ยังคงทำงานได้ตามปกติ อีกครั้งในคู่มือการเผยแพร่แอปของ Apple :

สำคัญ: การสร้างใบรับรองการพัฒนาหรือการแจกจ่ายซ้ำของคุณจะไม่มีผลกับแอพที่คุณส่งไปยังร้านค้าและจะไม่มีผลต่อความสามารถในการอัปเดต

ดังนั้น…

ถาม: ฉันจะต่ออายุได้อย่างไร?

ดังกล่าวข้างต้นไม่มีการต่ออายุใบรับรอง ทำตามขั้นตอนด้านล่างเพื่อเพิกถอนและสร้างใบรับรองใหม่พร้อมกับโปรไฟล์การจัดเตรียมที่ได้รับผลกระทบ คำแนะนำได้รับการปรับปรุงสำหรับ Xcode 8.3 และ Xcode 9

ขั้นตอนที่ 1: เพิกถอนใบรับรองที่หมดอายุ

ลงชื่อเข้าใช้ศูนย์สมาชิก > ใบรับรองตัวระบุและโปรไฟล์เลือกใบรับรองที่หมดอายุ จดวันหมดอายุของใบรับรองแล้วคลิกปุ่ม 'เพิกถอน'

เลือกใบรับรองที่หมดอายุและคลิกที่ปุ่มเพิกถอน

ขั้นตอนที่ 2: (ไม่บังคับ) ลบใบรับรองที่ถูกเพิกถอนจาก Keychain ของคุณ

เป็นทางเลือกถ้าคุณไม่ต้องการให้ใบรับรองถูกเพิกถอนอยู่ในระบบของคุณคุณสามารถลบออกจากระบบของคุณ น่าเสียดายที่ฟังก์ชั่น 'ลบใบรับรอง' ใน Xcode> การกำหนดค่าตามความชอบ> บัญชี> [Apple ID]> จัดการใบรับรอง ... ดูเหมือนว่าจะถูกปิดการใช้งานอยู่ตลอดเวลาดังนั้นเราจึงต้องลบมันด้วยตนเองโดยใช้ Keychain Access.app แอป)

เลือกลบใบรับรองที่ถูกเพิกถอนโดยใช้ Keychain Access.app

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

ขึ้นอยู่กับใบรับรองที่คุณเพิ่งเพิกถอนค้นหา 'Mac' หรือ 'iPhone' ใบรับรองการแจกจ่าย Mac App Store เริ่มต้นด้วย“ ผู้พัฒนา Mac บุคคลที่สาม” และใบรับรองการแจกจ่าย iOS App Store เริ่มต้นด้วย“ การกระจาย iPhone”

คุณสามารถค้นหาใบรับรองที่ถูกเพิกถอนตามชื่อทีมประเภทของใบรับรอง (Mac หรือ iOS) และวันที่หมดอายุของใบรับรองที่คุณจดบันทึกไว้ในขั้นตอนที่ 1

ขั้นตอนที่ 3: ขอใบรับรองใหม่โดยใช้ Xcode

ภายใต้ Xcode> การกำหนดค่าตามความชอบ> บัญชี> [Apple ID]> จัดการใบรับรอง ... คลิกที่ปุ่ม '+' ที่ด้านล่างซ้ายและเลือกใบรับรองประเภทเดียวกันกับที่คุณเพิ่งเพิกถอนเพื่อให้ Xcode ร้องขอใบใหม่ให้คุณ .

ให้ Xcode ขอใบรับรองใหม่ให้คุณใน Xcode> การตั้งค่า> บัญชี> Apple ID> จัดการใบรับรอง ...

ขั้นตอนที่ 4: อัปเดตโปรไฟล์การจัดสรรเพื่อใช้ใบรับรองใหม่

หลังจากนั้นให้กลับไปที่ศูนย์สมาชิก > ใบรับรองตัวระบุและโปรไฟล์> โปรไฟล์การจัดเตรียม> ทั้งหมด คุณจะสังเกตเห็นว่าโปรไฟล์การจัดเตรียมใด ๆ ที่ใช้ใบรับรองที่ถูกเพิกถอนนั้นจะปรากฏเป็น 'ไม่ถูกต้อง'

ขอให้สังเกตว่าโปรไฟล์การจัดเตรียมใด ๆ ที่ใช้ใบรับรองที่ถูกเพิกถอนนั้นจะปรากฏเป็น 'ไม่ถูกต้อง'

คลิกที่โปรไฟล์ใด ๆ ที่เป็น 'ไม่ถูกต้อง' คลิก 'แก้ไข' จากนั้นเลือกใบรับรองที่สร้างขึ้นใหม่จากนั้นคลิกที่ 'สร้าง' ทำซ้ำสิ่งนี้จนกว่าโปรไฟล์การจัดเตรียมทั้งหมดจะถูกสร้างใหม่ด้วยใบรับรองใหม่

เลือกใบรับรองที่สร้างขึ้นใหม่และคลิกที่สร้าง

ขั้นตอนที่ 5: ใช้ Xcode เพื่อดาวน์โหลดโปรไฟล์การจัดสรรใหม่

เคล็ดลับ : ก่อนที่คุณจะดาวน์โหลดโปรไฟล์ใหม่โดยใช้ Xcode คุณอาจต้องการล้างโปรไฟล์การจัดสรรที่มีอยู่และอาจไม่ถูกต้องจาก Mac ของคุณ คุณสามารถทำได้โดยลบโปรไฟล์ทั้งหมดออก~/Library/MobileDevice/Provisioning Profiles

ย้อนกลับไปใน Xcode> การตั้งค่า> บัญชี> [Apple ID] คลิกที่ปุ่ม 'ดาวน์โหลดโปรไฟล์ทั้งหมด' เพื่อขอให้ Xcode ดาวน์โหลดโปรไฟล์การจัดสรรทั้งหมดจากบัญชีนักพัฒนาซอฟต์แวร์ของคุณ

คลิกดาวน์โหลดโปรไฟล์ทั้งหมดสำหรับ Xcode เพื่อดาวน์โหลดโปรไฟล์ที่สร้างขึ้นใหม่ทั้งหมด


1
สวัสดี Junjie ขอบคุณ! ฉันกำลังประสบปัญหานี้กับ Xcode 7 จะเกิดอะไรขึ้นกับแอปที่เผยแพร่โปรไฟล์การจัดสรรการแจกจ่าย AdHoc เล็กน้อยหากฉันเพิกถอนใบรับรองการแจกจ่าย พวกเขายังมีชีวิตอยู่หรือไม่? ขอบคุณ
Frade

3
@Frade ตามแอปเปิ้ล: ใบรับรองการแจกจ่าย iOS (แอปที่ใช้ภายในองค์กร) ผู้ใช้จะไม่สามารถเรียกใช้แอปที่ลงชื่อด้วยใบรับรองนี้ได้อีก คุณต้องแจกจ่ายแอพเวอร์ชันใหม่ที่ลงชื่อด้วยใบรับรองใหม่ ดูdeveloper.apple.com/support/certificates
Junjie

ฉันถูกถามเกี่ยวกับ AdHoc แต่อาจเป็นสถานการณ์เดียวกัน ขอบคุณ
Frade

3
@junjie เกิดอะไรขึ้นในกรณีที่แอพที่เผยแพร่ในร้านมีสิทธิ์แจ้งเตือนแบบพุช จะยังสามารถส่งการแจ้งเตือนแบบพุชหลังจากใบรับรองหมดอายุหรือไม่
Otávio

4
@ Otávioใบรับรองการกระจายแอปของคุณ (สิ่งที่เราจัดการกับคำถามนี้) แยกจากใบรับรอง APNS ของคุณ ใบรับรอง APNS ไม่ได้เป็นส่วนหนึ่งของไบนารีแอป คุณสามารถเพิกถอน / ต่ออายุใบรับรอง APNS ของคุณโดยไม่ต้องอัปเดตไบนารีแอปของคุณ เป็นเซิร์ฟเวอร์พุชของคุณที่ต้องใช้ใบรับรอง APNS
Junjie

21

ตั้งแต่มกราคม 2563 และ Xcode 11.3.1 -

  • เปิด Xcode
  • เปิดการตั้งค่า Xcode (Xcode-> การตั้งค่าหรือ Cmd-,)
  • คลิกที่บัญชี
  • ทางด้านซ้ายคลิกรหัสนักพัฒนาซอฟต์แวร์ของคุณ
  • ที่ด้านล่างขวาคลิกที่จัดการใบรับรอง ...
  • ที่มุมซ้ายล่างให้คลิกลูกศรด้านขวาของเครื่องหมาย+ (บวก)
  • เลือกApple Distributionจากเมนู

Xcode จะสร้างใบรับรองการกระจาย Apple โดยอัตโนมัติติดตั้งใน Keychain Access และอัปเดตข้อมูลการลงชื่อของ Xcode

(หมายเหตุ: ตอนนี้มีการมอบใบรับรองApple Distribution หนึ่งใบแทนที่จะเป็นใบรับรองการจัดจำหน่าย iOSก่อนหน้านี้และรายการเทียบเท่า)


อยากรู้อยากเห็น: ได้รับจดหมายจากแอปเปิลเพื่อต่ออายุใบรับรองการแจกจ่าย iOS ไม่มีข้อมูลที่ฉันควรสร้างใบรับรองการแจกจ่าย Apple แทน
ekkescorner

อีเมลไม่ได้พูดถึง @ekkescorner มันอยู่ในเอกสารออนไลน์
ลีแอนน์

2
เวิร์กโฟลว์ใหม่นี้เพื่อสร้างใบรับรองใหม่ฟังดูง่ายเกินไป ;-) ขอบคุณอีกครั้ง
ekkescorner

ขอบคุณ @leanne สำหรับคำตอบ ควรมีตัวเลือกหมดอายุสำหรับคำตอบที่ไม่เกี่ยวข้องโบราณข้างต้นใน SO
RobMac

11

ง่ายมากคือการต่ออายุใบรับรองของคุณ ไปที่ศูนย์สมาชิกนักพัฒนาซอฟต์แวร์ของคุณและไปที่โปรไฟล์การจัดสรรและดูว่าใบรับรองใดที่ใช้งานอยู่และไม่ใช้งานแล้วเลือกใบรับรองที่ไม่ได้ใช้งานและกดปุ่มแก้ไขจากนั้นกดปุ่มสร้าง ตอนนี้ใบรับรองของคุณสามารถต่ออายุได้อีก 1 ปี ขอบคุณ


@Shanmugasundharam เราจะผลักดันเวอร์ชั่นใหม่ใน app store หลังจากสร้างโปรไฟล์การจัดเตรียม
Niraj Paul

สิ่งนี้ยังคงต้องใช้ไฟล์. csr ที่สร้างจาก xcode อย่างน้อยที่สุดจากสิ่งที่ฉันพบ จาก developer.apple.com/ บัญชีฉันไปที่ "ใบรับรองรหัสและโปรไฟล์" -> "โปรไฟล์" ฉันเห็น ReleaseProfile และ TestingProfile ทั้งสองแสดง "ไม่ถูกต้อง" ใต้คอลัมน์ "หมดอายุ" ฉันคลิกที่ ReleaseProfile จากนั้น "แก้ไข" ใต้ "ใบรับรอง" มีข้อความระบุว่า "ไม่มีใบรับรอง" พร้อมปุ่ม "สร้างใบรับรอง" ฉันคลิกมัน ฉันเลือก "การกระจาย iOS" และ "ดำเนินการต่อ" ตอนนี้ในการสร้างฉันต้อง "เลือกไฟล์" ซึ่งหมายถึงการอัปโหลดไฟล์ CSR ซึ่งฉันคิดว่าสามารถสร้างได้จาก xcode เท่านั้น
Brent212

คิดว่าฉันสามารถสร้าง CSR ได้ง่ายๆโดยการรันใน Linux: **** openssl req -nodes -newkey rsa: 2048 -keyout private_key.key -out cer_sign_request.csr **** ไม่อยากจะเชื่อเลยว่ามีคำตอบมากมาย ถึง "วิธีการสร้างใบรับรอง csr" ที่ต้องใช้ xcode โดยไม่ต้องพูดถึงโซลูชันง่ายๆนี้ที่ไม่ต้องการปัดฝุ่นแม็คเครื่องเก่าของฉันออกมาและทำการยิง IDE ขนาดใหญ่
Brent212

@NirajPaul แอปพลิเคชันของคุณจะยังคงทำงานสำหรับผู้ใช้ที่ดาวน์โหลดมาจากร้านค้าและมันจะทำงานให้คุณถ้าคุณดาวน์โหลดจากร้านค้า สิ่งนี้จะมีผลต่อผู้ใช้ที่วางแอปพลิเคชันบนอุปกรณ์โดยใช้โปรไฟล์การเตรียมใช้งาน (เช่นคุณสร้างและติดตั้งบนอุปกรณ์ของคุณจาก xCode) ผู้ใช้ในอดีตปัจจุบันและอนาคตจะไม่สังเกตเห็นความแตกต่าง stackoverflow.com/a/7128502/3493877แหล่งที่มาจากที่นี่
Shanmugasundharam

0

นี่เป็นกระทู้ที่มีประโยชน์จริงๆฉันทำตามขั้นตอนเดียวกับ @junjie ที่พูดถึง แต่สำหรับฉันมีบางอย่างแปลก ๆ เกิดขึ้นด้านล่างเป็นขั้นตอนที่ฉันทำ

  1. ไปที่พอร์ทัลผู้พัฒนาและเพิกถอนใบรับรองที่กำลังจะหมดอายุ
  2. ไป XCode6.4 และในการตั้งค่าบัญชีใบรับรองยังคงแสดงว่าถูกต้องฉันบ้าไปแล้ว
  3. จากนั้นฉันเปิด XCode7 มีใบรับรองปรากฏขึ้นพร้อมปุ่ม"รีเซ็ต"แทนที่จะสร้างและฉันกดปุ่มรีเซ็ตและต่อมาในพอร์ทัลฉันสามารถเห็นใบรับรองเพิ่มเติมที่มีอยู่ นี่คือสิ่งที่ Apple พูดเกี่ยวกับปุ่มรีเซ็ต

หาก Xcode ตรวจพบปัญหาเกี่ยวกับข้อมูลประจำตัวการเซ็นชื่อจะแสดงการดำเนินการที่เหมาะสมในการตั้งค่าบัญชี หาก Xcode แสดงปุ่มสร้างแสดงว่าไม่มีข้อมูลการลงชื่อใน Member Center หรือบน Mac ของคุณ หาก Xcode แสดงปุ่มรีเซ็ตตัวตนการเซ็นชื่อจะไม่สามารถใช้งานได้บน Mac ของคุณ - เช่นไม่มีรหัสส่วนตัว หากคุณคลิกปุ่มรีเซ็ต Xcode จะยกเลิกและขอใบรับรองที่เกี่ยวข้อง

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