有四步获取UDID
1)mobileconfig创建XML文件为您的网站。
2)当你打/点击mobileconfig XML的URL。这将在他们的手机上设置他们的配置设置,并为他们提供一个“安装”按钮
3)手机发送数据你要加密的XML你设置你的URL。mobileconfig

4)处理XML数据,你会得到UDID


1) 创建 .mobileconifg

<?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://www.sitename.com/info.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>sitename.com Mobile Web App</string>
<key>PayloadDisplayName</key>
<string>sitename Profile</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>744e5abc-c5c4-4x3z-cvfa-d827e4a1d4c8</string>
<key>PayloadIdentifier</key>
<string>com.sitename.register-udid</string>
<key>PayloadDescription</key>
<string>By installing this profile, you'll allow sitename's mobile web app to know the UDID of your device and find apps available for installation on www.sitename.come/mobile
Only the UDID of your device will be transmitted to sitename. Nothing will be installed on the device.</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
你需要填写你自己的网址和payloaduuid。的payloaduuid并不一定要以一种特殊的方式–产生只要确保它是您的应用程序的独特。
2)用户查看您的提供配置文件
payloadorganization和payloaddescription显示用户当他们看到剖面。在我的描述
你不必写你。mobileconfig,但是如果你不那么他们将看到一个警告,不签署。

3)接收所请求的数据
您将被重定向php页面。在这个文件中添加下面的代码

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

$plistBegin   = '<?xml version="1.0"';
$plistEnd   = '</plist>';
$pos1 = strpos($data, $plistBegin);
$pos2 = strpos($data, $plistEnd);
$data2 = substr ($data,$pos1,$pos2-$pos1);
$xml = xml_parser_create();
xml_parse_into_struct($xml, $data2, $vs);
xml_parser_free($xml);

$UDID = "";
$CHALLENGE = "";
$DEVICE_NAME = "";
$DEVICE_PRODUCT = "";
$DEVICE_VERSION = "";
$iterator = 0;

$arrayCleaned = array();
foreach($vs as $v){
if($v['level'] == 3 && $v['type'] == 'complete'){
$arrayCleaned[]= $v;
}
$iterator++;
}

$data = "";
$iterator = 0;

foreach($arrayCleaned as $elem){

$data .= "\n==".$elem['tag']." -> ".$elem['value']."<br/>";

switch ($elem['value']) {

case "CHALLENGE":

$CHALLENGE = $arrayCleaned[$iterator+1]['value'];

break;

case "DEVICE_NAME":

$DEVICE_NAME = $arrayCleaned[$iterator+1]['value'];

break;

case "PRODUCT":

$DEVICE_PRODUCT = $arrayCleaned[$iterator+1]['value'];

break;

case "UDID":

$UDID = $arrayCleaned[$iterator+1]['value'];

break;

case "VERSION":

$DEVICE_VERSION = $arrayCleaned[$iterator+1]['value'];

break;

}
$iterator++;
}

$params = "UDID=".$UDID."&CHALLENGE=".$CHALLENGE."&DEVICE_NAME=".$DEVICE_NAME."&DEVICE_PRODUCT=".$DEVICE_PRODUCT."&DEVICE_VERSION=".$DEVICE_VERSION;
// result_data is a directory

header('Location: http://www.sitename.com/result_data?'.$params);


版权声明:若无特殊注明,本文皆为( yueshuo )原创,转载请保留文章出处。