Read the manifest of the application on all platforms.
Manifest Reader ona verdiğiniz uygulamanın ( APK, XAP, IPA ) manifest verilerini okumanızı sağlar. Bu sayede uygulamalarınızın Beta test & Production ve Enterprise süreçlerinde manifest bilgilerini okumada size kolaylık sağlar.
XAP uygulamaların manifest bilgileri içinde bir çok tag yer almakta. Proje içinde kullanıcağınız tagleri kod kısmında düzenleyebilirsiniz. Ufak bir örnek verelim.
(31,32)(37,38) Satırlarda görüldüğü gibi tercihe göre yeni bir attribute eklenebilir. Ayrıca ihtiyaca göre yeni bir class'ta tanımlayabilirsiniz.
public class IconPath
{
[XmlAttribute("IsRelative")]
public Boolean IsRelative { get; set; }
[XmlAttribute("IsResource")]
public Boolean IsResource { get; set; }
}
gibi kullanılabilinir.
- Burada class'ların ve attribute'lerin ne manaya geldiğini anlamadıysanız WMAppManifest.xml dosyasını incelemenizi tavsiye ederim.
- Ayrıca XmlElement ve XmlAttribute gibi kavramlara yabancı iseniz System. Xml.Serialization kütüphanesini incelemenizi öneririm.
XAP'ta olduğu gibi bu kısımda da işinize yarayan kısımları kullanabilirsiniz.
Öncelikle programı başlatmadan önce dikkat etmeniz gereken bir kaç nokta var.
Yukarıdaki resimlerde gördüğünüz gibi bir .ipa dosyasını açtığımızda, Payload adında default olarak bir klasör gelmekte. Payload içindeki dosyanın ismi ise "blabla.app" değişken olabilmektedir. Bu sebepten kodda ki şu kısımda sizden bu bilgiler istenmektedir.
PList'i direk zip dışına çıkarırsak, bozulmuş bir biçimde çıkacağını gözlemleyebilirsiniz. Bunun olmaması için 54-60 arasındaki satırları kullanarak extract ediyoruz.
64.Satırda ise düzgün bir biçimde çıkarmayı başarabildiğimiz Plist'i parse ediyoruz. Bize lazım olanları çekiyoruz. Eğer size başka özelliklerde lazımsa debug ederken parsedPlist'in içeriğine bakabilirsiniz.
Plist'in diğer manifest dosyalarına nazaran başka bir dez avantajı olduğu için parse etme ihtiyacı duyuluyor, sadece xml kütüphanesi işe yaramıyor. 65-69 Satırları arasında aşağıdaki xml syntax'ını parse etmek durumunda kalıyoruz.
<dict>
<key> ..... </key>
<string> ..... </string>
<dict>
<key> ..... </key>
....
</dict>
</dict>
###License
The GNU General Public License - see LICENSE.md for more details