歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java讀取ipa中info.plist獲取版本信息

Java讀取ipa中info.plist獲取版本信息

日期:2017/3/1 10:39:49   编辑:Linux編程
和Android的manifest.xml類似,ios中一個應用的版本信息,應用名稱,兼容的最低版本等等都在ipa包中的info.plist中列出,但是對於一個打包好ipa包,裡面的info.plist是亂碼的,想要獲取信息還是相當的麻煩。而最近也要到這方面的需求,找到的第一個方案是使用java調用linux 中的plutil工具來實現對info.plist的解析,這樣做雖然可以實現但感覺太牽強了,,第二個方案是繼續尋找純java的解決方案,找啊找最後還是在老外的一個網站上(overstackflow.com)上找到有人提這樣的問題,幸運的是還有很多哥們回復,老外果然是牛逼,最後照著做,可行了,具體的是找到了一個jar包,簡單調用一下就Ok,先貼一下代碼,對於怎樣從ipa中提取info.plist就不羅嗦了,使用zip流就可以搞定,提供一個別人弄好的實現參考一下就ok(http://code.google.com/p/sunlab/source/detail?r=339):

[java]

  1. import java.io.File;
  2. import com.dd.plist.PropertyListParser;
  3. public class Plist {
  4. public static void main(String[] args) throws Exception {
  5. File file = new File("d:\\angryInfo.plist");
  6. File file1 = new File("d:\\angryInfo1.plist");
  7. PropertyListParser.convertToXml(file, file1) ;
  8. //InputStream input = Plist.class.getClassLoader().getResourceAsStream("");
  9. // NSDictionary rootDict = (NSDictionary) PropertyListParser.parse(file);
  10. //
  11. //
  12. //
  13. //
  14. // String name = rootDict.objectForKey("Name").toString();
  15. // NSObject[] parameters = ((NSArray) rootDict.objectForKey("Parameters")).getArray();
  16. // for (NSObject param : parameters) {
  17. //
  18. // System.out.println(param.toXMLPropertyList());
  19. //
  20. // if (param.getClass().equals(NSNumber.class)) {
  21. // NSNumber num = (NSNumber) param;
  22. // switch (num.type()) {
  23. // case NSNumber.BOOLEAN: {
  24. // boolean bool = num.boolValue();
  25. // // ...
  26. // break;
  27. // }
  28. // case NSNumber.INTEGER: {
  29. // long l = num.longValue();
  30. // // or int i = num.intValue();
  31. // // ...
  32. // break;
  33. // }
  34. // case NSNumber.REAL: {
  35. // double d = num.doubleValue();
  36. // // ...
  37. // break;
  38. // }
  39. // }
  40. // }
  41. // // else...
  42. // }
  43. }
  44. }

在d盤下找到angryInfo1.plist打開,已不是亂碼的了,現在想要提取啥信息就盡管提取。

用到的jar下載:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/1月/14日/Java讀取ipa中info.plist獲取版本信息/

Copyright © Linux教程網 All Rights Reserved