سؤال

يمكنني استخدام حساب مستخدم قياسي لمهام My اليومية على نظام التشغيل Mac OS. منذ الترقية إلى الثلج ليوبارد، طلب مني القيام بما يلي عند تشغيل البرنامج من داخل Xcode:

"اكتب اسم وكلمة المرور للمستخدم في مجموعة" أدوات أدوات المطور "للسماح لأدوات المطور الوصول إلى إجراء تغييرات"

بينما أعرف اسم مستخدم / كلمة مرور المسؤول، يكون هذا مزعجا (على الرغم من أن المطلوب فقط مرة واحدة لكل تسجيل دخول).

يطلب الوصول أدوات المطور حقوق "System.Privilege.taskport.debug" من تطبيق GDB-I386-Apple-Darwin.

ما هي أفضل طريقة حول هذا؟

هل كانت مفيدة؟

المحلول

تحتاج إلى إضافة اسم مستخدم OS X الخاص بك إلى _developer مجموعة. انظر المشاركات في هذا الموضوع للمزيد من المعلومات. يجب أن يقوم الأمر التالي بالقيام بالخدعة:

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

نصائح أخرى

أخيرا، كنت قادرا على التخلص منه باستخدام DevToolsSecurity -enable على المحطة. بفضل ovenar_at_work.!

لمعلوماتك: أنا على Xcode 4.3، والضغط على تعطيل زر عند إطلاقه لأول مرة، لا تسأل لماذا، فقط افترض كلبي جعلني أفعل ذلك :)

$ dseditgroup -o edit -u <adminusername> -t user -a <developerusername> _developer

يجب عليك إضافة نفسك إلى مجموعة أدوات المطور. فيما يلي بناء الجملة العام لإضافة مستخدم إلى مجموعة في OS X كما يلي:

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

أعتقد أن اسم مجموعة devyools هو _developer.

يعمل حل ديلي نيد بشكل جيد تماما، شريطة أن يسمح لمستخدمك بذلك sudo.

إذا لم يكن كذلك، يمكنك ذلك su إلى حساب المسؤول، ثم استخدام له dscl . append /Groups/_developer GroupMembership $user, ، حيث $ المستخدم هو اسم المستخدم.

ومع ذلك، فقد اعتقدت خطأ أنه لم أفعل ذلك لأنني كتبت خطأ في اسم المستخدم في الأمر وفشل بصمت.

لذلك، بعد إدخال هذا الأمر، يجب عليك إثبات التحقق من ذلك. سيحقق ذلك ما إذا كان مستخدم $ في مجموعة $، حيث تمثل المتغيرات على التوالي اسم المستخدم واسم المجموعة.

dsmemberutil checkmembership -U $user -G $group

هذا الأمر سوف إما طباعة الرسالة user is not a member of the group أو user is a member of the group.

الإجابة التي اقترحها Stacy Simpson:

نحن نكافح مع القضية الموصوفة في هذه المواضيع ويبدو أن أي من القرارات يبدو للعمل:

كما أنا جديد لذلك، لا أستطيع النشر في أي موضوع. (أول واحد مغلق بالفعل وأنا لا أتفق مع التفكير في التوطين ...)

على أي حال، أنشأنا عن عمل باستخدام AppleScript قد يكون الناس مهتمين به. يجب تنفيذ البرنامج النصي أدناه بشكل غير متزامن قبل تشغيل الاختبار الآلي الخاص بك:

osascript <script name> <password> &

هنا هو البرنامج النصي:

on run argv
    # Delay for 10 seconds as this script runs asynchronously to the automation process and is kicked off first.
    delay 10

    # Inspect all running processes
    tell application "System Events"
        set ProcessList to name of every process
        # Determine if authentication is being requested
        if "SecurityAgent" is in ProcessList then
            # Bring this dialogue to the front
            tell application "SecurityAgent" to activate
            # Enter provided password
            keystroke item 1 of argv
            keystroke return
        end if
    end tell
end run

ربما لا تكون آمنة للغاية، ولكنها أفضل عمل، وصلنا إلى السماح بالاختبارات للتشغيل دون الحاجة إلى تدخل المستخدم.

نأمل أن أحصل على نقاط كافية لنشر الجواب؛ أو، يمكن لشخص ما نقل هذا السؤال. يعتبر.

هنا هو الحل الأفضل من
يريد Mac OS X استخدام سلسلة مفاتيح النظام عند تجميع المشروع

  1. فتح المفاتيح الوصول.
  2. في الزاوية العلوية اليسرى، قم بإلغاء تأمين المفاتيح (إذا كان مغلقا).
  3. اختر مفاتيح النظام من الزاوية العلوية اليسرى.
  4. ابحث عن شهادة التوزيع الخاصة بك وانقر فوق مثلث الإفصاح.
  5. انقر نقرا مزدوجا فوق "مفتاح خاص" ضمن شهادة التوزيع الخاصة بك.
  6. في المنبثقة، انتقل إلى علامة التبويب التحكم في الوصول.
  7. حدد "السماح بجميع التطبيقات للوصول إلى هذا العنصر".
  8. حفظ التغييرات.
  9. أغلق جميع النوافذ.
  10. تشغيل التطبيق.

أنا على ليوبارد الثلج وهذا واحد لم يعمل تماما بالنسبة لي. لكن الإجراء التالي عملت:

  1. تمت إضافة حساب آخر مع امتيازات المسؤول عن طريق تكبير "السماح للمستخدم بإدارة هذا الكمبيوتر" ضمن الحسابات، على سبيل المثال حساب مع اسم المستخدم اختبار
  2. تسجيل الدخول إلى اختبار الحساب
  3. أطلقت Xcode، جمعت وركض مشروع iPhone الخاص بي. كل شيء طيب، لم يتم إلقاء أي أخطاء ذات صلة بالأذونات
  4. تسجيل الخروج من اختبار الحساب
  5. تسجيل الدخول باستخدام حساب آخر لديه امتيازات المسؤول
  6. أخذ بعيدا امتيازات المشرف من اختبار حساب عن طريق إزالة القراد من "السماح للمستخدم بإدارة هذا الكمبيوتر" ضمن الحسابات
  7. تسجيل الدخول مرة أخرى إلى اختبار الحساب
  8. حذف دليل مشروع iPhone وتم سحبه مرة أخرى من المستودع (في حالتي SVN)
  9. أطلقت xcode، جمعت وركض المشروع. لم أحصل على أي أخطاء وركض التطبيق جيدا في محاكاة iPhone.

بعد تشغيل:

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

لكل إجابة أعلاه، قد ما يزال الحصول على مطالبة بالدخول في كلمة المرور الخاصة بك:

نحن بحاجة إلى إذن من مستخدم مسؤول لتشغيل المصحح. سيحدث هذا مرة واحدة فقط لكل جلسة تسجيل الدخول.

ما يعنيه حقا هو أي _مطور يقوم مستخدمو GroupMember بحيث ستعمل المستخدم / كلمة المرور غير المشرفين هنا ولكن للتخلص منه تماما (لا توجد مطالبات بعد إعادة التشغيل)، ستحتاج أيضا إلى تشغيل:

sudo DevToolsSecurity -enable

(تشغيله مع Sudo كمستخدم مسؤول / كجذر سيجعله حتى تتمكن من القيام بذلك عن بعد دون موجه كلمة مرور واجهة المستخدم الرسومية)

بالنسبة لي، وجدت الاقتراح في مؤشر الترابط التالي ساعد:

إيقاف "أدوات المطور" يحتاج الوصول إلى السيطرة على عملية أخرى لتصحيح الأخطاء لمتابعة "التنبيه

اقترح تشغيل الأمر التالي في صالة تطبيق:

sudo /usr/sbin/DevToolsSecurity --enable
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top