Installation of an application cannot be performed in MDM - ios

It is MDM using APNs.
An addition and deletion of an application are permitted in the composition profile.
iPhone of iOS5 is used.
It does not succeed, although installation of the "free application" of "iTunesStore" is performed by the following method by MDM of iOS.
Has it made a mistake in this method?
Please teach me the right method.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>995761bc0ac0f311452f050a3e4be157ca2dda75</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>InstallApplication</string>
<key>iTunesStoreID</key>
<number>338761996</number>
<key>ManagementFlags</key>
<integer>1</integer>
</dict>
</dict>
</plist>

Replace the number tag to integer.
i.e.,
<?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>CommandUUID</key>
<string>4424F929-BDD2-4D44-B518-393C0DABD56A</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>InstallApplication</string>
<key>iTunesStoreID</key>
<integer>464656389</integer>
<key>ManagementFlags</key>
<integer>4</integer>
</dict>
</dict>
</plist>
This problem took me a week until I accidentally figure this out.

I had the same issue but just found a solution , is the issue , when i looked into man page i see CFNumber is mapped to or , once changed it too real it worked like a charm
https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man5/plist.5.html

For installing an enterprise IPA, you can use the below XML
<?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>CommandUUID</key>
<string>4424F929-BDD2-4D44-B518-393C0DABD56A</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>InstallApplication</string>
<key>ManifestURL</key>
<string>https://company.com/manifest.plist</string>
<key>ManagementFlags</key>
<integer>4</integer>
</dict>
</dict>
</plist>
Below is a sample manifest file:
<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://companyName/filename.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.company.appname</string>
<key>bundle-version</key>
<string>3</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>appname</string>
</dict>
</dict>
</array>
</dict>
</plist>

Related

App Settings Title

How do you remove the "[App] Settings" title from showing in the settings?
Edit:
Here is the code for my Root.plist file. It seems like the PreferenceSpecifiers key has this title as default, but I can't find a way to get rid of it.
<?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>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Version</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Key</key>
<string>versionDisplay</string>
<key>DefaultValue</key>
<string>20</string>
<key>Title</key>
<string>Version</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>Date Built</string>
<key>Key</key>
<string>dateBuild</string>
<key>DefaultValue</key>
<string>1</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
Locate Settings.bundle in project navigator.
Look for Root.plist. This is the file that describes what's gonna appear in settings.
Find a row with "Queue settings" string and modify it.

IOS MDM-Managed Settings Command return CommandFormatError

I receive "CommandFormatError" on Managed Settings commands.
That's what I'm sending as a Settings command:
<?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>CommandUUID</key>
<string>123456</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>Settings</string>
<key>Settings</key>
<array>
<dict>
<key>Item</key>
<string>VoiceRoaming</string>
<key>Enabled</key>
<true/>
</dict>
</array>
</dict>
</dict>
</plist>
Thank you in advance!
I am also having this same exact issue. Specifically, for VoiceRoaming command on both iPhone (iOS 7 AT&T) and iPad (iOS 8).
According to this 3rd party documentation: http://darthnull.org/media/papers/MDM_CommandReference.pdf
The CommandFormatError is the result of sending the Setting to a device/carrier combination that does not support it.
Hope that helps
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<key>RequestType</key>
<string>RemoveApplication</string>
<key>Identifier</key>
<string>com.mega888.Release</string></dict>
<key>CommandUUID</key><string>RemoveApplication</string>
</dict>
</plis>

ERROR whitelist rejection on phonegap, need plist format

I've researched that the whitelist rejection error requires
<key>ExternalHosts</key>
<array>
<string>*</string>
</array>
in your plist file. I'm building this app with phonegap build (not with XCode) and I need to know where in the plist file this key goes. Currently I have it as follows:
<plist version="1.0">
<dict>
<key>items</key>
<array>
...
</array>
<key>ExternalHosts</key>
<array>
<string>*</string>
</array>
</dict>
</plist>
But this is still throwing the same error.
Are there any modifications I need to make to my app in tandem with this change?
I did put that:
`<?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>KeyboardDisplayRequiresUserAction</key>
<true/>
...
<key>BackupWebStorage</key>
<string>cloud</string>
<key>ExternalHosts</key>
<array>
<string>dl.dropbox.com</string>
</array>
<key>Plugins</key>
<dict>`
into Cordova.plist file.

itms-services://?action=download-manifest Not Work in IIS

I have created an ios apps and let selected devices download&install on idevices browser safari.So make a link like this:
<a href="itms-services://?action=download-manifest&url=http://myserver.com/Info.plist">
and when i click it was popup a message "cannot connect to myserver.com".
Then i figure out IIS missing MimeType so i add back to it.
.ipa application/octet-stream
.plist text/xml
But finally when i click on it no response at all,why?
i doubt info.plist setting was wrong or something.
Here are my info.plist setting:
<?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>AppStoreFileSize</key>
<integer>4329818</integer>
<key>ApplicationProperties</key>
<dict>
<key>ApplicationPath</key>
<string>http://myserver.com/Apps.ipa</string>
<key>CFBundleIdentifier</key>
<string>com.app.app</string>
<key>IconPaths</key>
<array>
<string>http://myserver.com/icon.png</string>
<string>http://myserver.com/icon.png</string>
<string>http://myserver.com/icon#2x.png</string>
<string>http://myserver.com/icon-72.png</string>
</array>
<key>SigningIdentity</key>
<string>CSR Certificate</string>
</dict>
<key>ArchiveVersion</key>
<integer>2</integer>
<key>CreationDate</key>
<date>2012-10-10T09:02:39Z</date>
<key>Name</key>
<string>AppName</string>
<key>SchemeName</key>
<string>AppName</string>
You code needs to look like this
<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://www.example.com/test.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.name.name</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>Name</string>
</dict>
</dict>
</array>
</dict>
</plist>
Remember to change:
Bundle Identifier= <string>com.company.name</string>
Installer Name= <string>Name</string>
Ipa Download= <string>http://www.example.com/test.ipa</string>
Change the <string>http://www.example.com/test.ipa</string> to where ever you located you ipa for install.
Create you Install.plist or Start.plist what ever and go into mobile safari and type: itms-services://?action=download-manifest&url=http://www.example.com/whatever.plist
And it should go a head and download it there may be some bugs when downloading.
Remember that the ipa needs a valid UDID= unique device identification.
Hope this helped.
Best Regards Silas.
Since iOS8, un-encrypted plist downloads are not accepted anymore.
So you need a valid ssl certificate and change the scheme to https. You can test this with amazon s3 for example.
you have to use Https for all urls in .plist file

MonoTouch: Bundle Name Not Being Displayed Under Icon

I would like to use a shorter version of my app's name for display under the icon. I have read that the Bundle Name is the value that displays this shortened name. I added the Bundle Name (CFBundleName) to my info.plist, but my app's name is still being displayed according to the Bundle Display Name (CFBundleDisplayName). Am I missing something here? Thanks in advance.
Try with metadata->title key:
<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://www.example.es/YourAppBundle.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>XXXXXXXXXX</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>YourAppName</string>
</dict>
</dict>
</array>
</dict>
</plist>

Resources