1

我需要将 .mobileconfig 文件作为配置文件安装到 iPhone 中,类似于 AppleConfigurator 的做法,但我没有 MAC。我不知道它默认安装到哪里,是否应该包含选项?目标是跳过每部新擦除的手机都会出现的设置助手。

ReadOnlyCollection<string> udids;
int count = 0;

var idevice = LibiMobileDevice.Instance.iDevice;
var lockdown = LibiMobileDevice.Instance.Lockdown;

var ret = idevice.idevice_get_device_list(out udids, ref count);

if (ret == iDeviceError.NoDevice)
{

    return;
}

ret.ThrowOnError();

// Get the device serial
foreach (var udid in udids)
{
    LockdownClientHandle lockdownHandle;
    iDeviceHandle deviceHandle;
    LockdownServiceDescriptorHandle ldsHandle;

    idevice.idevice_new(out deviceHandle, udid).ThrowOnError();

    lockdown.lockdownd_client_new_with_handshake(deviceHandle, out 
        lockdownHandle, "Quamotion").ThrowOnError();

    InstallationProxyClientHandle ipc;

    lockdown.lockdownd_start_service(lockdownHandle, 
        "com.apple.mobile.installation_proxy", out ldsHandle);

    ldsHandle.Api.InstallationProxy.instproxy_client_new(deviceHandle, 
        ldsHandle, out ipc);

    ldsHandle.Api.InstallationProxy.instproxy_install(ipc,

    @"C:\configFile.mobileconfig",PlistHandle.Zero,Callback,IntPtr.Zero);
}
4

1 回答 1

1

您使用的方法instproxy_install, 用于安装应用程序。libimobiledevice 还附带imobileprovision,用于安装配置文件。但是您正在尝试安装移动配置文件,这是不同的。

libimobiledevice 不提供用于处理移动配置文件的 API。有几个商业供应商可以提供帮助。我工作的公司提供imobileconfig命令行实用程序。我相信核心 libimobiledevice 团队中的一些人也在这方面做咨询。

一个相关的注意事项是,推送移动配置文件将导致设备跳过大部分安装向导,但不是全部。同样,如果需要,商业供应商可以提供帮助。

于 2020-01-14T14:36:36.457 回答