从 .mobileconfig 获取设备 UDID [英] Getting a device UDID from .mobileconfig

查看:40
本文介绍了从 .mobileconfig 获取设备 UDID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写类似于 http://whatismyudid.com/ 的函数,然后批准,将返回用户 UDID 并将其存储到数据库中以供该用户将来参考.

I'm trying to write function similar to http://whatismyudid.com/ that, then approved, will return the users UDID and store it to a database for future reference with that user.

我编写了一个 .mobileconfig xml 文档,它在配置文件安装程序中打开就好了,但是当我告诉它安装配置文件时,它以 [alert] Invalid Profile 响应,但没有警报正文.没有描述,没有代码,没有帮助.

I have written a .mobileconfig xml doc that opens in the Profile Installer just fine but when I tell it to install the profile it responds with [alert] Invalid Profile but no alert body. No description, no code, no help.

我是移动配置游戏的新手,所以任何帮助都会让我兴奋.

I'm new to the mobile configuration game so any help would thrill me.

这是我的配置文件:

<?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>
    <dict>
        <key>URL</key>
        <string>http://apps.mortlabs.com/device/retrieve.php</string>
        <key>DeviceAttributes</key>
        <array>
            <string>UDID</string>
            <string>IMEI</string>
            <string>ICCID</string>
            <string>VERSION</string>
            <string>PRODUCT</string>
        </array>
    </dict>
    <key>PayloadOrganization</key>
    <string>MortLabs.com</string>
    <key>PayloadDisplayName</key>
    <string>Profile Service</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>PayloadUUID</key>
    <string>B958E359-34C2-42F4-BD0C-C985E6D5376B</string>
    <key>PayloadIdentifier</key>
    <string>com.mortlabs.profile-service</string>
    <key>PayloadDescription</key>
    <string>This temporary profile will be used to find and display your current device's UDID.</string>
    <key>PayloadType</key>
    <string>Profile Service</string>
</dict>
</plist>

通过导航到 http://apps.mortlabs.com/device/enroll 来初始化配置文件.php 与移动 safari

The profile is initialized by navigating to http://apps.mortlabs.com/device/enroll.php with mobile safari

推荐答案

我发现通过使用上面的内容,Ipad/Iphone 正在与 Apache 对话 - Kyle2011 在 https://discussions.apple.com/thread/3089948?start=0&tstart=0 已填在解决方案的其余部分.

I found that by using the above that Apache was being talked to by the Ipad/Iphone - The post by Kyle2011 at https://discussions.apple.com/thread/3089948?start=0&tstart=0 filled in the rest of the solution.

基本上在retrieve.php 页面的底部,您需要使用类似于以下内容的行将浏览器重定向到一个目录:-

Basically at the bottom of the retrieve.php page you need to redirect the browser to a directory by using a line similar to the following:-

header("Location: https://www.example.com/enrolment?params={$params}");

注册是一个目录 - 然后调用 DirectoryIndex(通常是 index.php),然后它可以向您的用户显示内容.

Where enrolment is a directory - this then calls the DirectoryIndex (typically index.php) which can then display stuff to your user.

要填充 $params 变量,您需要在retrieve.php 脚本顶部添加以下行

To populate the $params variable you need the following line at the top of your retrieve.php script

$data = file_get_contents('php://input');

然后您可以解析 $data 字符串以获得您需要的内容(尝试 file_put_contents("data.txt", $data); 或 Kyle2011 的示例)

You can then parse the $data string to get what you need (try file_put_contents("data.txt", $data); or Kyle2011's example)

我还通过在 Mac 上的终端中使用 udidgen 而不是仅使用 whatismyudid.com 将有效负载 UDID 更改为不同的内容.

I also changed the Payload UDID to something different by using udidgen in a terminal on a Mac rather than just using whatismyudid.com's.

更新:从 iOS 7.1 开始,一些文件(.plist IIRC)需要通过 https://提供 - 如果所有内容都通过 http://提供,它们将无法安装 - 可能最好提供所有内容,包括.ipa 通过 https://确保 Apple 方面的未来更改不会导致问题.

Update: From iOS 7.1 some of the files (the .plist IIRC) need to be served over https:// - they will fail to install if everything is served over http:// - probably best to serve everything including the .ipa over https:// to ensure future changes on Apple's side don't cause a problem.

这篇关于从 .mobileconfig 获取设备 UDID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆