如何检测AppStore中是否安装了应用程序?

时间:2014-11-20 09:52:39

标签: ios objective-c iphone app-store

我的应用程序可以从Appstore安装,也可以通过企业分发安装 代码完全相同。
那么,如果从Appstore安装了Application,那么我如何以编程方式区别?

2 个答案:

答案 0 :(得分:6)

您可以通过从应用程序包中读取embedded.mobileprovision文件来获取部分内容:

NSString *provisionPath = [[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"];
if (![[NSFileManager defaultManager] fileExistsAtPath:provisionPath]) {
    // Appstore version
}

如果不存在,您将进入应用商店版本。

如果它确实存在,您需要找出调试和临时供应配置文件之间的一些差异,并寻找它以确定您所在的构建。

关于/ private / var / mobile / Containers / Bundle / Application /
这是一种安全的方式,您可以查看[[NSBundle mainBundle] resourcePath]
这是加载图像和资源的路径,
它以/ private / var / mobile / Containers / Bundle / Application / ...

开头

因此,阅读/检查您的捆绑文件不会导致拒绝。

答案 1 :(得分:0)

不,你无法识别出来。如果您已将凭据分享给其他任何人,并且如果他已使用它下载了应用程序,则无法检查相同的内容。