ASP.NET检索iOS应用程序到期日期

时间:2017-03-13 01:52:11

标签: ios asp.net web-services mobile

问题
有什么办法可以使用ASP.NET检索.ipa文件到期日期吗? 我想我将所有.ipa文件(Production)集中在文件服务器中,并允许我的网站读取它们并检索到期日期。

原因
这是因为我有一个生产网站,允许用户访问数据输入和报告。但是,某些数据条目构建为.ipa文件(apps)。因此,为了让我能够跟踪哪些文件即将过期,我需要一些跟踪方法。所以我想让我的网站(ASP.NET)能够检索.ipa文件的到期日期会很好。

1 个答案:

答案 0 :(得分:1)

我假设您的ipa文件是开发人员构建或企业开发的结果,即它们是自签名的。如果是的话,那么是的,我认为这是可能的,如果你对脏兮兮的骇人听闻,那就不那么复杂了。

ipa文件实际上只是应用程序文件夹的ZIP存档。它包含Payload文件夹,里面应该有embedded.mobileprovision个文件。它的实际格式有点复杂,在SO上有一些讨论(例如参见How to determine at run-time if app is for development, app store or ad hoc distribution?

但是,如果您对脏黑客行为没问题,您可以在其中搜索二进制数据中的文本部分,看起来像

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

    ... 

    <key>ExpirationDate</key>
    <date>2017-02-08T02:39:06Z</date>

简而言之,embedded.mobileprovision是签名的plist,它本身就是一种奇怪的基于XML的格式https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/PropertyLists/UnderstandXMLPlist/UnderstandXMLPlist.html