问题
有什么办法可以使用ASP.NET检索.ipa文件到期日期吗?
我想我将所有.ipa文件(Production)集中在文件服务器中,并允许我的网站读取它们并检索到期日期。
原因
这是因为我有一个生产网站,允许用户访问数据输入和报告。但是,某些数据条目构建为.ipa文件(apps)。因此,为了让我能够跟踪哪些文件即将过期,我需要一些跟踪方法。所以我想让我的网站(ASP.NET)能够检索.ipa文件的到期日期会很好。
答案 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