0

SMJobBless には、ヘルパー ツールをインストールしていること、および続行するにはパスワードを入力することをユーザーに通知するダイアログ プロンプトがあります。テキストを変更したいと思います。

テキストを変更する代わりに、次のコードはカスタム テキストを先頭に置き、デフォルトのテキストを表示します。私は何が欠けているか、間違っていますか?

// Creating auth item to bless helper tool and install framework
AuthorizationItem authItem = {kSMRightBlessPrivilegedHelper, 0, NULL, 0};

// Creating a set of authorization rights
AuthorizationRights authRights = {1, &authItem};

NSString *promptText = @"Customized Text. Privilege?\n\n";

AuthorizationItem dialogConfiguration[1] = { kAuthorizationEnvironmentPrompt, [promptText length], (char *) [promptText UTF8String], 0 };

AuthorizationEnvironment authorizationEnvironment = { 0 };
authorizationEnvironment.items = dialogConfiguration;
authorizationEnvironment.count = 1;

// Specifying authorization options for authorization
AuthorizationFlags flags = kAuthorizationFlagDefaults | kAuthorizationFlagInteractionAllowed | kAuthorizationFlagExtendRights;

// Open dialog and prompt user for password
OSStatus status = AuthorizationCreate(&authRights, &authorizationEnvironment, flags, authRef);`
4

1 に答える 1

1

kSMRightBlessPrivilegedHelper の代わりに kAuthorizationRightExecute を使用すると、入力パスワードのみを要求する短いテキストが取得されます.. 環境として kAuthorizationEnvironmentPrompt を使用すると、ヒントの冒頭に追加のテキストを追加できます..

于 2014-01-16T08:45:50.510 に答える