是否可以在 iOS 中读取已安装应用的 info.plist?

Posted

技术标签:

【中文标题】是否可以在 iOS 中读取已安装应用的 info.plist?【英文标题】:Is it possible to read an installed app's info.plist in iOS? 【发布时间】:2015-06-10 10:56:08 【问题描述】:

是否可以从 ios 中已安装的应用中读取任何信息,例如从 App1 中读取 App2 的 info.plist 文件? App1 正在查询安装了哪个版本的 App2

【问题讨论】:

沙盒模式只是... 沙盒模式。 here comes. 【参考方案1】:

这当然是个老问题了,但你没有具体说明你是否拥有(或开发者)另一个应用程序?

如果您是这两个应用的开发者,那么这几乎可以使用应用组来实现。

在 App2 中,您可以将文件(甚至只是复制整个 plist)写入两个应用程序之间共享的“应用程序组”,然后从 App1 中读取。

使用此方法检查 App2 是否已更新将不起作用,除非 App2 自更新后一直在运行(或使用后台应用刷新在后台更新文件),如果您没有,也将不起作用App2的开发者。

【讨论】:

【参考方案2】:

如我所见,这是不可能的,因为每个应用程序都在 Sandbox 内运行,这不允许您的应用程序访问其他应用程序信息。

这是我在其他帖子中找到的一些信息: Other post Apple's File System Programming Guide

我认为唯一的事情是将文本或文件传递给可以处理您想要访问的文件类型的应用程序(文本 -> Whatsapp)。您可以通过使用UIDocumentInteractionController 或通过URL 调用网址来做到这一点:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"whatsapp://"]]

【讨论】:

以上是关于是否可以在 iOS 中读取已安装应用的 info.plist?的主要内容,如果未能解决你的问题,请参考以下文章

ios:在当前应用中打开已安装的另外一个ios应用

是否可以在ios中获取已安装的应用程序

从 iOS 的 UITests 中读取 Info.plist?

应用程序提供的字体列表(iOS)

如何在 react-native iOS 应用程序中运行时读取 Info.Plist?

如何在 react-native iOS 应用程序中运行时读取 Info.Plist?