Mac OS X ต้องการใช้พวงกุญแจระบบเมื่อรวบรวมโปรเจ็กต์


94

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

Mac OS X ต้องการเปลี่ยนแปลง พิมพ์ชื่อผู้ดูแลระบบและรหัสผ่านเพื่ออนุญาต Mac OS X ต้องการใช้พวงกุญแจระบบ

ใครมีวิธีแก้ปัญหานี้หรือไม่?

คำตอบ:


249
  1. เปิดการเข้าถึงพวงกุญแจ
  2. ที่มุมซ้ายบนให้ปลดล็อกพวงกุญแจ (หากล็อกอยู่)
  3. เลือกพวงกุญแจระบบจากมุมบนซ้าย
  4. ค้นหาใบรับรองการแจกจ่ายของคุณแล้วคลิกสามเหลี่ยมเปิดเผยข้อมูล
  5. ดับเบิลคลิก 'คีย์ส่วนตัว' ใต้ใบรับรองการแจกจ่ายของคุณ
  6. ในป๊อปอัปไปที่แท็บ Access Control
  7. เลือก 'อนุญาตให้แอปพลิเคชันทั้งหมดเข้าถึงรายการนี้'
  8. บันทึกการเปลี่ยนแปลง
  9. ปิดหน้าต่างทั้งหมด
  10. เรียกใช้แอปพลิเคชัน

3
ฉันไม่พบดรอปดาวน์ใบรับรองการแจกจ่ายใด ๆ จะหาได้ที่ไหน?
Ananth Srinivasan

4
@AnanthSrinivasan, PVCS หมายถึงรายการบัญชีที่อยู่ในหน้าต่างหลัก ดับเบิลคลิกที่บัญชีที่บังคับให้คุณป้อนชื่อผู้ดูแลระบบและรหัสผ่าน
crazyDiamond

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

4
คุณสมควรได้รับคุกกี้ก้นใหญ่สำหรับคำตอบนั้น
Miiite

1
ฉันพบว่าใน El Capitan คุณต้องดับเบิลคลิกที่คีย์ส่วนตัวที่ตรงกับรูปแบบ yourhostname.domain.identity จากนั้นทำขั้นตอนที่ 6-8
Jason D

22

ปัญหาเกิดจากใบรับรองนักพัฒนาบนพวงกุญแจซึ่งอยู่ภายใต้ "ระบบ" ที่แผงด้านซ้ายมือซึ่งถูกล็อกตลอดเวลาและต้องใช้รหัสผ่านเพื่อปลดล็อก!

ดังนั้นเพียงแค่ย้ายใบรับรองนักพัฒนาไปที่ "เข้าสู่ระบบ" ซึ่งจะปลดล็อกอยู่เสมอ ตอนนี้ปัญหาของคุณได้รับการแก้ไขแล้ว


1
สิ่งนี้ช่วยฉันได้ยกเว้นฉันไม่สามารถย้ายพวงกุญแจไปที่ "เข้าสู่ระบบ" ได้ อย่างไรก็ตามการลบใบรับรองออกจาก System keychain เป็นสิ่งที่ฉันคิดว่าช่วยแก้ปัญหานี้ได้
goelakash

สิ่งนี้เหมาะสำหรับการสร้างจาก Xcode GUI เท่านั้นเมื่อคุณสร้างจาก CLI (เช่นในสภาพแวดล้อม CI) Key & Cert จะต้องอยู่ในพวงกุญแจระบบ
RAM237

เยี่ยมมาก! ทำงานให้ฉัน ใบรับรองของฉันอยู่ภายใต้ "ระบบ" ย้ายไปที่ "เข้าสู่ระบบ"
ลัล

ไม่มีอะไรได้ผลสำหรับฉันยกเว้นอันนี้ โปรดทราบว่าฉันไม่สามารถเคลื่อนย้ายไปมาฉันได้เพื่อลบและเพียงแค่ลากใบรับรองด้วยตนเองเพื่อ "เข้าสู่ระบบ"
บทร้อง

8
  1. เปิดการเข้าถึงพวงกุญแจ

  2. คลิกที่ระบบในบานหน้าต่างด้านซ้าย

  3. ปลดล็อกพวงกุญแจระบบด้านซ้ายบน (หากล็อคอยู่)

  4. จัดเรียงรายการระบบตามชนิดเพื่อให้คีย์อยู่ด้านบน

  5. มองหาคีย์ส่วนตัวที่คอยถามรหัสผ่าน

  6. ดับเบิลคลิกแล้วเลือก Access Control

  7. เลือก "อนุญาตให้แอปพลิเคชันทั้งหมดเข้าถึงรายการนี้"

  8. บันทึกการเปลี่ยนแปลงล็อกพวงกุญแจระบบและออกจากแอปพวงกุญแจ

  9. รีสตาร์ทแอปพลิเคชันที่ขอให้แก้ไขพวงกุญแจของคุณ


ตามแนวทางปฏิบัติที่ดีที่สุดสำหรับขั้นตอนที่ 7 อนุญาตเฉพาะแอปพลิเคชันเฉพาะที่คุณพยายามให้สิทธิ์เข้าถึง เพราะความปลอดภัย
Mike Rapadas

1
สิ่งนี้แตกต่างจากคำตอบที่ระบุเมื่อหลายปีก่อนอย่างไร
grg

1
เมื่อฉันตอบคำตอบนั้นคำตอบมีอายุ 2 ปีและคำตอบไม่ได้ผลสำหรับฉันฉันจึงเขียนขั้นตอนที่ฉันทำเพื่อให้มันได้ผลดังนั้นการโหวต 5 ครั้ง อย่ามาที่นี่และปรับปรุงคำตอบของเขาแล้วถามฉันว่าทำไมฉันเป็นที่แตกต่างกัน .. ถ้ามันเป็นเดียวกันผมมั่นใจว่าทุกคนจะได้ downvoted มันเหมือนคุณ ..
emotality

1
ฉันไม่สามารถบันทึกการเปลี่ยนแปลงในขั้นตอนที่ 8 ฉันป้อนรหัสผ่านของผู้ดูแลระบบ (ถามฉันสองครั้ง) อย่างไรก็ตามเมื่อฉันเปิดคีย์อีกครั้งการเปลี่ยนแปลงยังไม่ได้รับการบันทึก! ทำไมจึงเป็นเช่นนั้น?
Danijel

5

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


สิ่งนี้เหมาะสำหรับการสร้างจาก Xcode GUI เท่านั้นเมื่อคุณสร้างจาก CLI (เช่นในสภาพแวดล้อม CI) Key & Cert จะต้องอยู่ในพวงกุญแจระบบ ใน Mac เครื่องหนึ่งฉันมีสถานการณ์เดียวกัน: ทำซ้ำในการเข้าสู่ระบบและพวงกุญแจระบบและทุกอย่างทำงานได้ดี แต่ไม่ได้อยู่ที่เครื่องอื่นด้วยเหตุผลบางประการ ...
RAM237

3

ฉันพบว่าปัญหาเกิดจากการจัดเตรียมโปรไฟล์ ฉันลบโปรไฟล์การจัดเตรียมก่อนหน้านี้ทั้งหมดแล้วติดตั้งใหม่ที่ฉันต้องการ


2

ในกรณีของฉันฉันไปที่ Keychain Access เลือก "system" ใน "Keychains" (บนซ้าย) จากนั้นสำหรับแต่ละรายการ: คลิกขวา "รับข้อมูล" "การควบคุมการเข้าถึง" และเพิ่ม Xcode ในรายการ "อนุญาตการเข้าถึงโดยแอปพลิเคชันเหล่านี้เสมอ:"


2

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


1

ฉันทำตามวิธีแก้ปัญหาที่คล้ายกับที่ @krafter ทำ แต่แทนที่จะให้การเข้าถึงทุกอย่างในพวงกุญแจระบบฉันเพียงแค่ให้เพิ่ม xcode ในโปรไฟล์การจัดเตรียมใต้พวงกุญแจ -> ระบบ -> "โปรไฟล์การจัดเตรียมของคุณ" -> รับข้อมูล -> การควบคุมการเข้าถึงจากนั้นเพิ่ม xcode นี่คือสิ่งที่ใช้ได้ผลสำหรับ 4.6


1

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

ในการรักษาการเปลี่ยนแปลง Access Control ฉันต้องคัดลอกคีย์ส่วนตัว + ใบรับรองไปยังพวงกุญแจการเข้าสู่ระบบ สิ่งนี้ทำให้ Xcode ไม่รบกวนฉันเมื่อมีการลงนามรหัสที่เก็บถาวรสำหรับการแจกจ่าย

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

ฉันหวังว่าจะมีทางออกที่ดีกว่านี้เพราะมันไม่ถูกต้อง แต่มันใช้ได้สำหรับตอนนี้


0

ใช่ - เรียกใช้ XCode ด้วยสิทธิ์ของผู้ดูแลระบบเท่านั้น จำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบในการดำเนินงานการติดตั้งเซสชันการดีบักและอื่น ๆ


ฉันจะเปลี่ยนคำนำหน้า xcode เพื่อให้ทำงานกับผู้ดูแลระบบได้อย่างไร
ซิงห์

ฉันหมายถึงเรียกใช้จากผู้ใช้ที่ถูกกำหนดให้เป็นผู้ดูแลระบบ
Stavash

0

คุณแน่ใจหรือไม่ว่า "Mac OS X" ไม่ใช่เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์

เป็นเรื่องปกติหาก Developer Tools ต้องการเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์บน Mac ของคุณดังนั้นคุณไม่จำเป็นต้องป้อนรหัสผ่านของผู้ดูแลระบบทุกครั้งที่คุณเริ่มการดีบักแอปของคุณในโปรแกรมจำลองทุกครั้งแรกหลังจากเปิด Xcode แต่ละครั้ง

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


ใช่มันบอกว่า MAC OS X และเมื่อฉันรวบรวมบิลด์สำหรับโปรแกรมจำลองมันจะไม่แสดงข้อความนี้ให้ฉันและเมื่อฉันรันโปรเจ็กต์ใด ๆ บนอุปกรณ์มันจะแสดงข้อความให้ฉัน
ซิงห์

ฉันพบว่าปัญหาเกิดจากการจัดเตรียมโปรไฟล์ ฉันลบโปรไฟล์การจัดเตรียมก่อนหน้านี้ทั้งหมดแล้วติดตั้งใหม่ที่ฉันต้องการเพื่อแก้ปัญหา
ซิงห์

Ya เห็นด้วยกับ @developersaremad ฉันมีวิธีแก้ปัญหา ... ขอบคุณ
KB920

0

คุณต้องเพิ่มชื่อผู้ใช้ OSx ของคุณใน_developerกลุ่ม ทำงานให้ฉัน

sudo dscl . append /Groups/_developer GroupMembership <username>

0

ดูเหมือนว่า Xcode จะไม่รีเฟรชการเลือกทีมดังนั้นการเลือกอีกครั้งจากแท็บทั่วไปของเป้าหมายจึงแก้ไขได้

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