VMware Workspace ONE Community
JasonNugent
Contributor
Contributor

Fonts via Custom XML Profile ?

Hey All,

We're currently injecting around 52 Fonts at the Organizational Level for our iOS devices (iPads, iPhones).. but the drawback to this is it really slows down enrollments (the device has to download all those Fonts PRIOR to any of the Configuration Profiles applying). 

On the Workspace One - SETTINGS - Apple - INSTALL FONTS screen.. there is a NOTE at the bottom that says:

 "If there are more than 10 fonts, it is recommended to leverage the Profiles section (Upload or Custom XML) for better performance and visibility."

I would like to play around with doing this (building a Custom XML profile to load all the Fonts).. but I cannot find any examples anywhere of what that Font XML payload would look like. I see documentation showing XML examples for things like Restrictions, Wi-FI, VPN, etc..

UPDATE on this:.. I have figured out that I can import Fonts into Apple Configurator and export as a .MOBILECONFIG file .. then open up that file in Text-editor and see the XML,. I thought I was home free to get that to work,. but if I try to COPY & PASTE that XML into Workspace One and push it out to a phone,. the Profile downloads but it says "UNKNOWN PAYLOAD" .. it does seem to show it's a Font payload. .but iOS doesn't recognize it as such. So I feel like I'm very close to figuring this out.. I just need to figure out why it's not correctly identifying the payload as "FONT" .. ?

Update 2 on this.. VMWare's response on this was:.. "This is unsupported and we don't have any KB articles showing how to do this". THat's pretty frustrating and disappointing as the Fonts interface clearly says:.. "If there are more than 10 Fonts,.. lever the Profiles section blah blah blah".. so you'd think they have a "sample XML" or something to show how to do this. The only approach I have NOT yet tested is importing a .MOBILECONFIG.. so I will try that next and see if it works. For the moment I've just removed all of the Fonts I was trying to inject and have (momentarily) concluded that this feature just simply does'nt work as advertised. 😞

Labels (1)
Reply
0 Kudos
7 Replies
aaaa6
Contributor
Contributor

I have the same problem as you. I wonder if you have solved it now?

Reply
0 Kudos
JasonNugent
Contributor
Contributor

I did not unfortunately. I gave up and we eventually just removed all the extra custom fonts and lived to learn without this feature. ;(

Reply
0 Kudos
PLehotai
Enthusiast
Enthusiast

Hi guys, 

here is something that might help, however, WSO gives me an error 35000 - Invalid Font. Any idea why? 

Here is the code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>Font Install</string>
<key>PayloadIdentifier</key>
<string>com.example.fontinstall</string>
<key>PayloadType</key>
<string>com.apple.font</string>
<key>PayloadUUID</key>
<string>INSERT_UUID_HERE</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>FontName</key>
<string>INSERT_FONT_NAME_HERE.ttf</string>
<key>FontData</key>
<data>
[Base64-encoded font file data]
</data>
<key>FontDescription</key>
<string>INSERT_FONT_DESCRIPTION_HERE</string>
<key>FontDisplayName</key>
<string>INSERT_FONT_DISPLAY_NAME_HERE</string>
<key>FontPostScriptName</key>
<string>INSERT_FONT_POSTSCRIPT_NAME_HERE</string>
<key>FontWeight</key>
<string>regular</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Custom Font Install Profile</string>
<key>PayloadIdentifier</key>
<string>com.example.customfontinstallprofile</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>INSERT_UUID_HERE</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>


To use this template, you'll need to replace the following placeholders with your own values:

INSERT_UUID_HERE: Replace this with a unique identifier for the profile. This can be generated using a UUID generator tool.
INSERT_FONT_NAME_HERE.ttf: Replace this with the name of the font file you want to install, including the file extension (.ttf or .otf).
[Base64-encoded font file data]: Replace this with the Base64-encoded data for the font file.
INSERT_FONT_DESCRIPTION_HERE: Replace this with a description of the font.
INSERT_FONT_DISPLAY_NAME_HERE: Replace this with the display name for the font.
INSERT_FONT_POSTSCRIPT_NAME_HERE: Replace this with the PostScript name for the font.


Once you have updated the template with your own values, you can upload the profile to Workspace ONE and assign it to a device or device group to install the font.

Reply
0 Kudos
TGrohmann
Contributor
Contributor

Hi,

have you tried uploading the mobileconfig file directly in airwatch under profiles. This worked for us.

regards

Thomas

Reply
0 Kudos
PLehotai
Enthusiast
Enthusiast

Hi Thomas, 

no, may be I am missing something. Could you please share the XML-Code?

Thanks!

Reply
0 Kudos
TGrohmann
Contributor
Contributor

Hi,

there is no XML code. We have created a mobileconfig file using Apple Configurator and imported this file directly into WSOne to profiles. There is also the option "upload profile" when creating a new profile.

regards

Thomas

RezHoque
Contributor
Contributor

Legend, This worked. Thanks.

Reply
0 Kudos