可以从应用程序内读取企业iOS下载链接plist?

我想分发一个Enterprise iOS应用程序,以便在用户打开它时,它已经显示了他们的名字和其他信息,即使.ipa是相同的.ipa,每个其他用户下载。 我想我可以做到这一点,给用户一个特定的应用程序下载URL和生成所需的企业下载plist包括一些用户数据,但我的问题是:

是否有可能从应用程序内的下载链接访问/读取Plist? 如果是这样,怎么样?

有一种方法可以从应用程序中读取企业下载链接(但是我确定您不是要求代码下载和阅读文件), 但是无法在应用程序中显示不同的内容索引页或清单文件上的参数,而不改变IPA本身。

不幸的是,安装的应用程序不知道它从哪里下载的清单文件或索引页。

编辑与参考/来源

这个链接,名为“导出应用程序在App Store外testing”: 导出应用程序进行testing(iOS,watchOS) ,讨论清单文件,但没有提到从Web部署到应用程序的任何数据链。

我还和一位苹果的高级顾问进行了交谈,他确认没有任何机制可以让应用程序知道应用的安装位置。

唯一可以这样做的方式是向所有用户发送相同的链接(examplesite.com/ios/download),并向它们发送一个唯一的用户标识符“SG5JD5J” 。 当应用程序首次下载并打开时,提示用户input唯一的用户识别码。 此时,您的应用可以更新自己的plist并进入应用。

不幸的是,你想要这样做的方式将需要私人API越狱的iOS设备,以便您可以查看Web浏览器的历史logging,find您的URL(例如site.com/ios/download)在最后的唯一标识符和更新必要的plist。

如果你find了解决办法,请评论,因为我会有兴趣看到。

我可以想到两个select:

  1. 您可以创build“个性化”IPA。 换句话说,当用户请求下载IPA时,服务器将生成一个包含所有用户信息的plist,将文件保存在IPA中,然后运行codesign 。 然后向用户提供IPA。
  2. 使用MDM将信息直接注入NSUserDefaults : https : //developer.apple.com/library/ios/samplecode/sc2279/Introduction/Intro.html

不,这是不可能的。 Plist用于iOS查找下载path,版本和应用程序名称等信息,以便iOS知道要提示给用户的信息。

您的代码只能在设备中安装应用程序后才能执行,并且当时没有关于该plist的信息。 而且应用程序无法find其下载path信息。

如果尚未安装在设备中,则无法从IPA中读取任何文件。

你可以做的是从你的网站获取用户信息,即让用户在你的下载页面填写表格。 然后将数据与可从您的下载页面生成的GUID一起保存到服务器。

一旦应用程序安装并运行,应用程序应重新创buildGUID,然后查询您的服务器以查找与GUID关联的用户信息。

您的应用程序可以预先填写用户信息。

面临的挑战是你的下载页面如何创build一个GUID,这个GUID也将被安装的应用重新创build? 那么你可以使用浏览器信息创buildGUID。 查看如何使用浏览器信息创buildGUID:

https://andywalpole.me/#!/blog/140739/using-javascript-create-guid-from-users-browser-information