Xcode起動時の「Developer Tools Accessはデバッグを続行するために」ダイアログ

Xcode起動時のダイアログ

XcodeでデバッグモードやPlaygroundを使用すると、再起動後の起動時に毎回ダイアログが表示される。これは_developerグループに所属していないユーザーが起動すると表示されるとのこと。

Developer Tools Accessはデバッグを続行するために別のプロセスを制御する必要があります。
許可するには"developer tools"グループに属するユーザの名前とパスワードを入力してください。

DevToolsSecurity --enable

以下コマンドで解決されるとのコメントを見たが、自分のケースだと解決されず。

$ /usr/sbin/DevToolsSecurity --enable
Developer mode is already enabled.

_developerグループの存在確認

対象ユーザーが_developerグループに所属している必要もあるとのことで、グループが存在するか以下コマンドで確認。

$ dscl . -list /Groups
_amavisd
_analyticsd
_analyticsusers
_appleevents
_applepay
_appowner
_appserveradm
_appserverusr
_appstore
_ard
_assetcache
_astris
_atsserver
_calendar
_captiveagent
_ces
_clamav
_cmiodalassistants
_coreaudiod
_coremediaiod
_ctkd
_cvms
_cvs
_datadetectors
_detachedsig
_devdocs
_developer
_devicemgr
_displaypolicyd
_distnote
_dovenull
_driverkit
_eppc
_findmydevice
_fpsd
_gamecontrollerd
_geod
_guest
_hidd
_iconservices
_installassistant
_installer
_jabber
_keytabusers
_launchservicesd
_lda
_locationd
_lp
_lpadmin
_lpoperator
_mailman
_mbsetupuser
_mcxalr
_mdnsresponder
_mobileasset
_mysql
_nearbyd
_netbios
_netstatistics
_networkd
_nsurlsessiond
_nsurlstoraged
_odchpass
_ondemand
_postdrop
_postfix
_postgres
_qtss
_reportmemoryexception
_sandbox
_screensaver
_scsd
_securityagent
_serialnumberd
_softwareupdate
_spotlight
_sshd
_svn
_taskgated
_teamsserver
_timed
_timezone
_tokend
_trustevaluationagent
_unknown
_update_sharing
_usbmuxd
_uucp
_warmd
_webauthserver
_webdeveloper
_windowserver
_www
_wwwproxy
_xserverdocs
accessibility
admin
authedusers
avdefs
bin
certusers
com.apple.access_disabled
com.apple.access_ftp
com.apple.access_remote_ae
com.apple.access_screensharing
com.apple.access_sessionkey
com.apple.access_ssh
com.apple.sharepoint.group.1
com.apple.sharepoint.group.2
com.apple.sharepoint.group.3
consoleusers
daemon
dialer
everyone
group
interactusers
kmem
localaccounts
mail
netaccounts
netusers
network
nobody
nogroup
operator
owner
procmod
procview
staff
sys
tty
utmp
wheel

dsclコマンドのeDSPermissionErrorエラー

_developerグループに所属させるためのコマンドを実行する。
(本来はsudoが必要だが、以下はなしでも通るか試した結果)

以下<ユーザー名>の箇所は適用したいユーザー名に変更する。

$ dscl . append /Groups/_developer GroupMembership <ユーザー名>
<main> attribute status: eDSPermissionError
<dscl_cmd> DS Error: -14120 (eDSPermissionError)

当然だが、権限の関係でsudoじゃないと適用できなかった。

ルートユーザーの有効化

ルートユーザーを無効化していたため、一時的に有効化する。以下ブログ記事を参考に設定する。

【Mac】sudo をできるようにする。 -ものぐさ日記(仮)

dsclコマンドの再実行

ルートユーザーを適用したユーザーで以下コマンドを実行する。

以下<ユーザー名>の箇所は適用したいユーザー名に変更する。

$ sudo sudo dscl . -append /Groups/_developer GroupMembership <ユーザー名>

無事に通った。

ルートユーザーの再無効化

Macではセキュリティの関係で、ルートユーザーを永続的に有効化するのは推奨していないようなので、ルートユーザーを無効化しておく。