0
我需要從我的Windows Phone應用程序中使用iOS Passbook文件獲取數據。我可以下載它,但是如何從中獲取數據?它似乎二進制?如何在Windows Phone應用程序中使用.pkpass文件?
我需要從我的Windows Phone應用程序中使用iOS Passbook文件獲取數據。我可以下載它,但是如何從中獲取數據?它似乎二進制?如何在Windows Phone應用程序中使用.pkpass文件?
.pkpass
文件實際上是一個ZIP存檔。在檔案裏面你會發現一個pass.json
文件,其中包含關卡的所有元數據。
使用Windows Phone兼容ZIP庫Silverlight SharpZipLib從.pkpass
中提取pass.json
。
string passDotJsonAsJson = null;
using(Stream pkpassAsStream = await client.GetPkpass())
{
responseStream.Position = 0;
using(ZipFile pkpass = new ZipFile(pkpassAsStream))
{
var passDotJson = pkpass.GetEntry("pass.json");
using (var passDotJsonAsStream = pkpass.GetInputStream(passDotJson))
{
var reader = new StreamReader(passDotJsonAsStream);
passDotJsonAsJson = await reader.ReadToEndAsync();
}
}
}
而你有它。 passDotJsonAsJson
現在包含作爲json字符串的pass。您現在可以使用Json.NET使其成爲.NET對象。
你剛剛回答你自己的問題嗎? – KRUKUSA
非常感謝這樣的答案,我找不到合適的應用程序來打開.pkpass,所以我會寫我自己的只是試試xamarin) – NikitaKo