Java clients for Apple's Mobile Device Management (MDM) services.
Java 21 is required, with the goal to use as few dependencies as possible.
| Library | Latest version | Artifact | Status | API-1.1.0 | API-latest |
|---|---|---|---|---|---|
| Device Assignment client | 1.1.0 |
Stable | Javadoc | Javadoc | |
| Legacy App and Book Management client | 1.1.0 |
Stable | Javadoc | Javadoc | |
| Apple Business client | 1.1.0 |
Stable | Javadoc | Javadoc |
Snapshot builds are published to GitHub Packages. See each library's README for the package link and authentication requirements.
Only HTTP tunneling i.e. HTTP CONNECT type of proxy servers are supported. To enable proxy support, simply add the proxy options to the client builder.
builder.setProxyOptions(MdmClientProxyOptions.ofHttp("proxy-host", 3128));
builder.setProxyOptions(MdmClientProxyOptions.ofHttp("proxy-host", 3128, "user", "pass"));The libraries use SLF4J, so you can route debug and trace logs into your own logger. Here is a simple log4j2.xml example:
<logger name="net.vexelon.mdm" level="debug" additivity="false">
<AppenderRef ref="console"/>
</logger>Requires JDK 21 or later
./gradlew clean build