Platforms to show: All Mac Windows Linux Cross-Platform

Back to CFPreferencesMBS class.

CFPreferencesMBS.AddSuitePreferencesToApp(ApplicationID as CFStringMBS, SuiteID as CFStringMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Adds a new suite to the application preferences.

CFPreferencesMBS.AppSynchronize(ApplicationID as CFStringMBS) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Synchronizes the values in the RAM with the disk for the given application.

Returns false on any error.

Some examples using this method:

CFPreferencesMBS.CopyAppBooleanValue(Key as CFStringMBS, ApplicationID as CFStringMBS) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Copies the application preferences boolean value.

On an error it returns false and KeyExistsAndHasValidFormat is set to false.

CFPreferencesMBS.CopyAppIntegerValue(Key as CFStringMBS, ApplicationID as CFStringMBS) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Copies the application preferences integer value.

On an error it returns false and KeyExistsAndHasValidFormat is set to false.

CFPreferencesMBS.CopyApplicationList(userName as CFStringMBS, hostName as CFStringMBS) as CFArrayMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Returns a list of all applications which have preferences.
Example
Sub Open()
// in a listbox on a window, list all preferences applications for the current user
dim c as CFArrayMBS
dim p as CFPreferencesMBS
dim i as Integer
dim count as Integer
dim o as CFObjectMBS
dim s as CFStringMBS

p=new CFPreferencesMBS
c=p.CopyApplicationList(p.kCFPreferencesCurrentUser, p.kCFPreferencesAnyHost)

count=c.Count-1
for i=0 to count
o=c.Item(i)
if o isa CFStringMBS then
s=CFStringMBS(o)
Listbox1.AddRow s.str
end if
next

Title=str(ListBox1.ListCount)+" "+Title
End Sub

Returns false on any error.

CFPreferencesMBS.CopyAppValue(Key as CFStringMBS, ApplicationID as CFStringMBS) as CFObjectMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Copies the application preferences value.
Example
// copy names of recent items in Xojo Preferences

dim names() as string
dim c as new CFPreferencesMBS

dim o as CFObjectMBS = c.CopyAppValue(NewCFStringMBS("Recent Items Dict"), NewCFStringMBS("com.realsoftware.realstudio"))

if o isa CFArrayMBS then
dim a as CFArrayMBS = CFArrayMBS(o)

dim u as Integer = a.Count-1
for i as Integer = 0 to u

o = a.Item(i)

if o isa CFDictionaryMBS then
dim d as CFDictionaryMBS = CFDictionaryMBS(o)

dim no as CFObjectMBS = d.Value(NewCFStringMBS("Name"))
if no isa CFStringMBS then

dim ns as CFStringMBS = CFStringMBS(no)

names.Append ns.str
end if
end if
next
end if

MsgBox Join(names,EndOfLine)

Returns nil on any error.

Some examples using this method:

CFPreferencesMBS.CopyDictionary(ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS) as CFDictionaryMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin 12.1 ✅ Yes ❌ No ❌ No ✅ Yes All
Copies all preferences value.
Example
dim p as new CFPreferencesMBS

p.SetValue(NewCFStringMBS("TestString"), NewCFStringMBS("Hello World"), p.kCFPreferencesCurrentApplication, p.kCFPreferencesCurrentUser, p.kCFPreferencesCurrentHost)
p.SetValue(NewCFStringMBS("TestDouble"), NewCFNumberMBSDouble(5.6), p.kCFPreferencesCurrentApplication, p.kCFPreferencesCurrentUser, p.kCFPreferencesCurrentHost)
p.SetValue(NewCFStringMBS("TestInteger"), NewCFNumberMBSInteger(3), p.kCFPreferencesCurrentApplication, p.kCFPreferencesCurrentUser, p.kCFPreferencesCurrentHost)

dim d as CFDictionaryMBS = p.CopyDictionary(p.kCFPreferencesCurrentApplication, p.kCFPreferencesCurrentUser, p.kCFPreferencesCurrentHost)
dim x as CFBinaryDataMBS = d.XML
dim s as string = x.Str

break
// check data in variable s with xml of all properties

Returns nil on any error.

CFPreferencesMBS.CopyKeyList(ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS) as CFArrayMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Returns a list of all preferences keys for the given application.

Returns false on any error.

CFPreferencesMBS.CopyMultiple(Key as CFArrayMBS, ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS) as CFDictionaryMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Copies several preferences value.

Returns nil on any error.

CFPreferencesMBS.CopyValue(Key as CFStringMBS, ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS) as CFObjectMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Copies a preferences value.
Example
dim c as CFPreferencesMBS
dim o as CFObjectMBS
dim a as CFStringMBS // application
dim k as CFStringMBS // key

k=NewCFStringMBS("AvailableLanguages")
a=NewCFStringMBS("com.apple.systempreferences")

c=new CFPreferencesMBS

o=c.CopyValue(k,a,c.kCFPreferencesCurrentUser,c.kCFPreferencesAnyHost)

CFShowMBS o

// Shows in the console application something like this:
//
// < CFArray > {type = mutable-small, count = 2, values = (
// 0 : < CFString > {contents = "en"}
// 1 : < CFString > {contents = "de"}
// )}

Returns nil on any error.

Some examples using this method:

CFPreferencesMBS.RemoveSuitePreferencesFromApp(ApplicationID as CFStringMBS, SuiteID as CFStringMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Removes a new suite to the application preferences.

CFPreferencesMBS.SetAppValue(Key as CFStringMBS, value as CFObjectMBS, ApplicationID as CFStringMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Sets an application preferences value.

Note that on saveing all strings are internally converted to UTF-8.

Some examples using this method:

CFPreferencesMBS.SetMultiple(KeysToSet as CFDictionaryMBS, KeysToRemove as CFArrayMBS, ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Sets several preferences values.

Note that on saveing all strings are internally converted to UTF-8.

CFPreferencesMBS.SetValue(Key as CFStringMBS, Value as CFObjectMBS, ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Sets a preferences value.

Note that on saveing all strings are internally converted to UTF-8.

CFPreferencesMBS.Synchronize(ApplicationID as CFStringMBS, userName as CFStringMBS, hostName as CFStringMBS) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method CoreFoundation MBS MacCF Plugin ✅ Yes ❌ No ❌ No ✅ Yes All
Synchronizes the values in the RAM with the disk for the given application.

Returns false on any error.

The items on this page are in the following plugins: MBS MacCF Plugin.


The biggest plugin in space...