문제

Mac OS의 일상 작업에 대한 표준 사용자 계정을 사용합니다. 스노우 레오파드로 업그레이드 한 이후 Xcode 내에서 프로그램이 실행될 때 다음을 수행하도록 요청받습니다.

관리자 사용자 이름/비밀번호를 알고 있지만 이는 성가시다 (로그인 당 한 번만 필요하지만).

개발자 도구 액세스는 Application GDB-I386-Apple-Darwin의 "System.privilege.taskport.debug"에 대한 권리를 요구하고 있습니다.

이것에 대한 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

OS X 사용자 이름을 _developer 그룹. 게시물을 참조하십시오 이 스레드 자세한 내용은. 다음 명령은 트릭을 수행해야합니다.

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

다른 팁

마침내, 나는 그것을 사용하여 그것을 제거 할 수 있었다 DevToolsSecurity -enable 터미널에서. 감사합니다 @joar_at_work!

참고로: 나는 Xcode 4.3에 있고 눌렀습니다 장애를 입히다 처음으로 시작했을 때 버튼, 왜 그런지 묻지 말고, 내 개가 나를 그렇게했다고 가정합니다 :)

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

개발자 도구 그룹에 자신을 추가해야합니다. OS X의 그룹에 사용자를 추가하기위한 일반적인 구문은 다음과 같습니다.

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

나는 DevTools 그룹의 이름이 있다고 생각합니다 _developer.

Ned Deily의 솔루션은 사용자가 허용되는 경우 완벽하게 작동합니다. sudo.

그가 그렇지 않다면, 당신은 할 수 있습니다 su 관리자 계정에 사용하십시오 dscl . append /Groups/_developer GroupMembership $user, 여기서 $ user는 사용자 이름입니다.

그러나 나는 명령의 사용자 이름을 잘못 입력했기 때문에 실수로 실수로 생각하지 않았고 조용히 실패했습니다.

따라서이 명령을 입력 한 후에는 증거를 확인해야합니다. 이렇게하면 $ user가 $ Group에 있는지 확인합니다. 여기서 변수는 각각 사용자 이름과 그룹 이름을 나타냅니다.

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는 프로젝트를 컴파일 할 때 System Keychain을 사용하려고합니다.

  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 사용자는 비 Admin 사용자/비밀번호 만 여기에서 작동하지만 완전히 제거하려면 (재부팅 후에 프롬프트 없음) 다음을 실행해야합니다.

sudo DevToolsSecurity -enable

(Sudo로 관리자로 실행하여/AS 루트로 실행하여 GUI 비밀번호 프롬프트없이 원격으로 수행 할 수 있도록합니다)

저에게는 다음 스레드의 제안이 도움이되었습니다.

중지 "개발자 도구 액세스가 필요합니다.

다음 명령을 실행할 것을 제안했습니다 단말기 신청:

sudo /usr/sbin/DevToolsSecurity --enable
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top