В настоящее время пытается изменить /Library/Preferences/com.apple.Bluetooth.plist
для программного удаления устройств Bluetooth и запускается ошибка.
Прежде всего, когда вызывается SCPreferencesSetValue
, конфигурация системы говорит
Ошибка домена = com.apple.SystemConfiguration Code = 0 "Успех!"UserInfo = {NSDescription = Success!}
Однако, когда я пытаюсь SCPreferencesCommitChanges
, среда сообщает мне
Ошибка домена = com.apple.SystemConfiguration Code =1002 «Неверный аргумент» UserInfo = {NSDescription = Неверный аргумент}
Я не понимаю, как установка значения успешна, но не удается зафиксировать значение с помощью обычного объекта предпочтений ... Любая помощь приветствуется,Спасибо!
var authItem = AuthorizationItem(name: kAuthorizationRuleIsAdmin, valueLength: 0, value: nil, flags: 0)
var authRights = AuthorizationRights(count: 1, items: &authItem)
let flags : AuthorizationFlags = [.interactionAllowed, .extendRights, .preAuthorize, .extendRights]
let osStatus = AuthorizationCopyRights(self.authRef!, &authRights, nil, flags, nil)
let preferences = SCPreferencesCreateWithAuthorization(kCFAllocatorDefault, "defaults" as CFString, "/Library/Preferences/com.apple.Bluetooth.plist" as CFString, authRef)
if !(SCPreferencesSetValue(preferences!, "PairedDevices" as CFString, paired as CFPropertyList)) {
return false
}
print("Set Value: \(SCCopyLastError())")
let ok = SCPreferencesCommitChanges(preferences!)
if !ok {
print("Commit Changes: \(SCCopyLastError())")
}