【问题标题】:Change text of smjobbless dialog kAuthorizationEnvironmentPrompt更改 smjobbless 对话框的文本 kAuthorizationEnvironmentPrompt
【发布时间】:2013-02-07 16:55:30
【问题描述】:

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);`

【问题讨论】:

    标签: objective-c authorization


    【解决方案1】:

    使用 kAuthorizationRightExecute 代替 kSMRightBlessPrivilegedHelper 会得到一个只要求输入密码的短文本。使用 kAuthorizationEnvironmentPrompt 作为环境可以在提示的开头添加额外的文本。

    【讨论】:

      猜你喜欢
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2016-12-01
      • 2018-06-25
      • 2019-09-11
      • 1970-01-01
      相关资源
      最近更新 更多