2017-08-30 93 views
0

更新問題解密IPA數據一樣,應用程序名稱,版本,圖標等[MVC C#]

我已成功地讀取Info.plist文件,我得到了下面的響應。我不知道如何解密成XML。

screenshot

我不知道,我怎麼能讀呢?


實際問題

我想創建一個應用程序一樣,Diawi。爲此,我已經完成了Android應用程序上傳部分,現在我想在C#中讀取IPA信息,如應用程序名稱,應用程序版本,軟件包名稱等。

我搜查了很多,但找不到任何文件。

任何人都可以請指導我正確的做法嗎?

回答

2

一個IPA文件是一個ZIP文件,所以你需要做的第一件事就是提取這個文件。

後解壓縮IPA文件,我們會得到一個名爲Payload文件夾,並與擴展app文件將被存儲在文件夾中Payload, 也許這個應用程序命名爲xxxx.app,並info.plist我們可以設在此應用程序xxxx.app,與文件夾有效負載相關的路徑應爲Payload/xxxx.app/info.plist

// parse info.plist 
    File plistFile = new File(plistFilePath); 
    NSDictionary rootDict = null; 
    try { 
     rootDict = (NSDictionary) PropertyListParser.parse(plistFile); 

     // get bundle id 
     NSString parameter = (NSString) rootDict.objectForKey("CFBundleIdentifier"); 
     ipaInfo.put("CFBundleIdentifier", parameter.toString()); 

     // get application name 
     parameter = (NSString) rootDict.objectForKey("CFBundleName"); 
     ipaInfo.put("CFBundleName", parameter.toString()); 

     // get version 
     parameter = (NSString) rootDict.objectForKey("CFBundleVersion"); 
     ipaInfo.put("CFBundleVersion", parameter.toString()); 

     // get bundle display name 
     parameter = (NSString) rootDict.objectForKey("CFBundleDisplayName"); 
     ipaInfo.put("CFBundleDisplayName", parameter.toString()); 

     // get ios mini. version 
     parameter = (NSString) rootDict.objectForKey("MinimumOSVersion"); 
     ipaInfo.put("MinimumOSVersion", parameter.toString()); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
+0

NSDirectory是Xcode的類而不是C#,我可以知道在C#中有相同的庫嗎? –

+1

var data = new Dictionary (); (1)(0)(0)(0)收藏(0)分享到微博分享到微信分享到QQ熱門文章每日一句每一個你不滿意的現在, ).ToArray())); Console.WriteLine(data [「ServerName」]); –

+0

我已經更新了這個問題。實際上,我可以閱讀info.plist文件,但它已被加密,您共享的代碼只能讀取XML文件。 –