检测是否已从集成的应用商店IOS下载应用

时间:2013-03-09 17:40:08

标签: ios objective-c app-store

我在应用程序内部的按钮上显示,appstore上的应用程序。该应用程序在SKStoreProductViewController中弹出应用程序商店的内容。现在,是否有任何方法可以检测用户是否已在显示的应用程序上按下安装,或者甚至更好,如果用户已按下intall并且应用程序已完成安装,则会收到警报?由于以这种方式在我的应用程序中的用户能够购买填充版本,我想在下载结束时退出试用版。

1 个答案:

答案 0 :(得分:4)

在使用SKStoreProductViewController [docs]时,我认为您无法检测用户是否已按下安装或安装了应用。只有API iOS公开是loadProductWithParameters:completionBlock:

但如果您想检查您的应用是否已安装,还有其他方式 -

1)使用自定义URL方案。为您的应用定义自定义URL方案,然后使用UIApplication -canOpenURL:进行检查。这将仅告诉您能够打开该网址方案的应用程序,而不一定是哪个应用程序。没有公开的机制来检查用户在其设备上安装的其他应用程序。自定义URL方案检查可以这样做 -

BOOL fullApp = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:NSString* urlString = [NSString stringWithFormat:@"yourFULLAppURL://"]]];
            
if(!fullApp)
{
    NSLog(@"INVALID URL"); //Or alert or anything you want to do here
}

2)如果你控制这两个应用程序,你也可以使用共享钥匙串或粘贴板在它们之间进行更详细的通信。