You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apple MDM应用中获取iPhone设备的已安装应用列表?

Fetching Installed Apps on iPhones via MDM: A Practical Guide

Hey there! Since you already have a working enterprise MDM app, you're halfway there—let's break down how to get that installed app list from iPhones and send it to your server.

Key Approach: Use Apple's MDM Protocol Commands

iOS restricts third-party apps (even MDM client apps) from accessing other installed apps directly due to sandboxing. The only reliable, Apple-approved way is to use the InstalledApplicationList command via your MDM server. Here's how to implement it:

Step 1: Construct the MDM Command Payload

You'll need to send an XML-formatted command to the device via APNs. Here's a sample payload structure:

<plist version="1.0">
<dict>
  <key>Command</key>
  <string>InstalledApplicationList</string>
  <key>CommandUUID</key>
  <string>your-unique-command-uuid-here</string>
  <!-- Optional: Filter results (e.g., only managed apps) -->
  <key>ManagedAppsOnly</key>
  <false/>
</dict>
</plist>
  • CommandUUID: A unique identifier to track the command's response (generate a new UUID for each request).
  • ManagedAppsOnly: Set to true if you only want apps installed via your MDM; leave as false for all user/installed apps.

Step 2: Send the Command via APNs

Your existing MDM server should already handle APNs push for device communication. Submit this command payload to the device using your server's existing MDM workflow.

Step 3: Handle the Device Response

Once the device processes the command, it will send a response back to your MDM server. The response includes a list of apps with details like:

  • BundleIdentifier: The app's unique ID (e.g., com.apple.mobilesafari)
  • DisplayName: The user-facing app name
  • Version: The app's current version number
  • IsManaged: Whether the app was installed via MDM
  • SizeInBytes: The app's storage footprint

Parse this XML response, extract the app data, and forward it to your business server as needed.

Important Notes

  • Privacy Restrictions: Apple limits some app data in the response (e.g., it won't return data for certain system apps or apps marked as private). This is intentional and can't be bypassed without jailbreaking (which violates Apple's terms).
  • Device Online Status: The device needs to be online and reachable via APNs to receive and respond to the command.
  • MDM Enrollment: Ensure the device is properly enrolled in your MDM program—unregistered devices won't process these commands.

If you're running into issues with constructing the payload or parsing the response, feel free to share specific code snippets or error messages, and I can help troubleshoot further!

内容的提问来源于stack exchange,提问作者Shimon Shnitzer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 23:07:27