How we know if our app uninstalled from iphone? [closed]

我怕爱的太早我们不能终老 提交于 2019-11-29 11:03:09
Edwin Iskandar

As others have already answered - you can't.

However, if you have push notifications enabled in your app, you can get a very rough idea by using APN feedback service to see which apn tokens have been removed (assumed uninstall). There is more info in this SO post: "Push notification" - feedback, uninstall application

Again, this should only be used to give a very ~rough idea on your uninstalls since the user may opt out of push notifications or the user's token changes for whatever reason.

There are a few tools that can track app uninstalls for you. The one I find useful is Uninstall tracking - MoEngage. They give you a complete list of users who uninstalled your app. You can as well deduce what made the user uninstall your app. Best part is you can send Emails to those users ho uninstalled your app through MoEngage dashboard so as to get the feedback or to get those users onboard.

You can't, there is not way to tell if the app is delete nor does Apple keep track of uninstalled apps that you as and developer can access.

There is no direct method to get this information.

However you can do by saving the first download date in keychain, or some other file and whenever you want to know retrieve it back.

And all the keychains are stored in your device even after removing the app. Consider you removed the app and again downloaded it, your keychain will be intact with the very-first date and time.

Use this keychain or file having list of the application and compare to find the missing applications.

You can use few tweaks to do this.

Read this : http://iphonedevsdk.com/forum/iphone-sdk-development/37103-finding-out-what-apps-installed.html

And if you are having a jailbreak, you can do this way:

-(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;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!