1

我想知道iOS 设备上外部应用程序的当前应用程序中的捆绑版本/id 是什么。我怎样才能做到这一点?

4

2 回答 2

2

如果其他应用程序是您开发的,您可以使用自定义 URL 方案来确定是否安装了特定版本。

对于您要检查的每个版本,您必须将 URL 方案添加到您的其他应用程序。这个想法是 URL 方案仅包含当前和以前版本的 URL 方案。

1.0版只有com.you.your-other-app.1.0. 然而,
版本1.2com.you.your-other-app.1.0有两个或多个 URL 方案:和com.you.your-other-app.1.2.

然后,您可以使用以下命令检查是否在任何应用程序中安装了该应用程序的特定版本:

BOOL is10Installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"com.you.your-other-app.1.0://"]];
BOOL is12Installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"com.you.your-other-app.1.2://"]];

更新:
我在我的两个相互通信的应用程序中使用它,以确定是否支持特定功能。这可能非常有用。

于 2013-02-06T09:27:58.520 回答
2

您处于应用沙盒中。您无法与除您的应用程序之外的其他应用程序进行通信。

要获取正在运行的应用程序的版本:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
于 2013-02-05T16:28:31.370 回答