php获取ios,IOS 通过描述获取UDID PHP代码版
難點在于PHP對XML的解析
文件結構:
第一步:新建HTML文件 用于跳轉安裝描述文件 必須在safari里面打開地址
第二步:新建udid.mobileconfig文件
PayloadContent
URL
https://www.xxx.com/pay_super/receive.php
DeviceAttributes
UDID
IMEI
ICCID
VERSION
PRODUCT
PayloadOrganization
dev.skyfox.org
PayloadDisplayName
查詢設備UDID
PayloadVersion
1
PayloadUUID
3C4DC7D2-E475-3375-489C-0BB8D737A653
PayloadIdentifier
dev.skyfox.profile-service
PayloadDescription
本文件僅用來獲取設備ID
PayloadType
Profile Service
第三步:新建receive.php,用來接收回調的xml數組。
用來
';
$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']."
";
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 = "uid=".$uid."&UDID=".$UDID."&CHALLENGE=".$CHALLENGE."&DEVICE_NAME=".$DEVICE_NAME."&DEVICE_PRODUCT=".$DEVICE_PRODUCT."&DEVICE_VERSION=".$DEVICE_VERSION;
header('HTTP/1.1 301 Moved Permanently'); //這里一定要301跳轉,否則設備安裝會提示"無效的描述文件"
header("Location: http://yutang.8090.com/pay_super/location.php?".$params);
第四步:創建跳轉打印udid的文件(location.php)
UDID:
總結
以上是生活随笔為你收集整理的php获取ios,IOS 通过描述获取UDID PHP代码版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 字符流 utf8,JAVA基础
- 下一篇: 加载如下html 写出输出顺序,浏览器加