我们如何知道你的应用程序是否从iphone上卸载?

时间:2012-11-28 11:15:43

标签: iphone ios app-store

如果想从iphone上卸载我们的应用程序,我想知道日期吗?

4 个答案:

答案 0 :(得分:7)

正如其他人已经回答的那样 - 你做不到。

但是,如果您在应用中启用了推送通知,则可以通过使用APN反馈服务查看哪些apn令牌已被删除(假设卸载),从而获得一个非常粗略的想法。此SO帖子中有更多信息:"Push notification" - feedback, uninstall application

同样,这应仅用于对卸载提供非常粗略的想法,因为用户可以出于任何原因选择退出推送通知或用户令牌更改。

答案 1 :(得分:4)

有一些工具可以为您跟踪应用卸载。我认为有用的是Uninstall tracking - MoEngage。它们为您提供了卸载应用程序的完整用户列表。您还可以推断出用户卸载您应用的原因。最重要的是,您可以通过MoEngage信息中心向那些用户发送电子邮件,以便获得反馈或让这些用户加入。

答案 2 :(得分:2)

你不能,没有办法判断应用程序是否被删除,也没有Apple跟踪你和开发人员可以访问的已卸载的应用程序。

答案 3 :(得分:1)

没有直接的方法来获取此信息。

但是,您可以将第一个下载日期保存在钥匙串或其他文件中,并且只要您想知道将其取回。

即使删除应用程序,所有钥匙串也会存储在您的设备中。考虑您删除了应用程序并再次下载它,您的钥匙串将在最初的日期和时间完好无损。

使用此钥匙串或具有应用程序列表的文件进行比较以查找缺少的应用程序。

您可以使用少量调整来完成此操作。

阅读本文:http://iphonedevsdk.com/forum/iphone-sdk-development/37103-finding-out-what-apps-installed.html

如果你正在越狱,你可以这样做:

-(NSMutableArray *)desktopAppsFromDictionary:(NSDictionary *)dictionary{
    NSMutableArray *desktopApps = [NSMutableArray array];

   for (NSString *appKey in dictionary){
      [desktopApps addObject:appKey];
    }
    return desktopApps;
}


-(NSArray *)installedApp{    
   BOOL isDir = NO;
   if([[NSFileManager defaultManager] fileExistsAtPath: installedAppListPath isDirectory: &isDir] && !isDir) 
   {
       NSMutableDictionary *cacheDict = [NSDictionary dictionaryWithContentsOfFile: installedAppListPath];
       NSDictionary *system = [cacheDict objectForKey: @"System"];
       NSMutableArray *installedApp = [NSMutableArray arrayWithArray:[self desktopAppsFromDictionary:system]];

       NSDictionary *user = [cacheDict objectForKey: @"User"]; 
       [installedApp addObjectsFromArray:[self desktopAppsFromDictionary:user]];

       return installedApp;
   }
   return nil;
}