OSStatus status;
AuthorizationRef authorizationRef;
AuthorizationItem right = { "com.mycompany.myapplication.command1", 0, NULL, 0 }; AuthorizationRights rightSet = { 1, &right }; AuthorizationFlags flags = kAuthorizationFlagExtendRights |
kAuthorizationFlagInteractionAllowed;
/* 新規の AuthorizationRef オブジェクトを作成するが、AuthorizationRights
の設定として NULL を渡し、AuthorizationRef をその後の呼び出しでも使
えるようにする */
status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment,
kAuthorizationFlagDefaults, &authorizationRef); if (status == errAuthorizationSuccess)
{
/* AuthorizationRef を使って、ユーザが“rightSet”にある権限の実行が
許可されるかどうかを判断できる */
status = AuthorizationCopyRights(authorizationRef, &rightSet,
kAuthorizationEmptyEnvironment, flags, NULL);
} |