Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何知道我们的应用程序是否已从iphone卸载?_Iphone_Ios_App Store - Fatal编程技术网

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

我们如何知道我们的应用程序是否已从iphone卸载?,iphone,ios,app-store,Iphone,Ios,App Store,我想知道我们的应用程序是否从iphone上卸载的日期?你不能,无法判断该应用程序是否被删除,苹果也无法跟踪你和开发者可以访问的卸载应用程序。没有直接方法获取此信息 但是,您可以通过将第一个下载日期保存在keychain或其他文件中,并在您想知道的任何时候将其检索回来 即使移除应用程序,所有钥匙链都会存储在您的设备中。考虑你删除了应用程序,并再次下载它,你的钥匙链将保持完整的第一次日期和时间。 使用此钥匙链或包含应用程序列表的文件,并进行比较以查找缺少的应用程序 您可以使用一些调整来实现这一点 请

我想知道我们的应用程序是否从iphone上卸载的日期?

你不能,无法判断该应用程序是否被删除,苹果也无法跟踪你和开发者可以访问的卸载应用程序。

没有直接方法获取此信息

但是,您可以通过将第一个下载日期保存在keychain或其他文件中,并在您想知道的任何时候将其检索回来

即使移除应用程序,所有钥匙链都会存储在您的设备中。考虑你删除了应用程序,并再次下载它,你的钥匙链将保持完整的第一次日期和时间。 使用此钥匙链或包含应用程序列表的文件,并进行比较以查找缺少的应用程序

您可以使用一些调整来实现这一点

请阅读以下内容:

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

-(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;
}

正如其他人已经回答的那样——你不能

但是,如果您的应用程序中启用了推送通知,您可以通过使用APN反馈服务查看哪些APN令牌已被删除(假定卸载)来大致了解情况。此SO帖子中有更多信息:


同样,这只应用于提供有关卸载的大致信息,因为用户可能会出于任何原因选择退出推送通知或用户的令牌更改。

有一些工具可以为您跟踪应用程序卸载。我觉得有用的是。它们会为您提供卸载您的应用程序的用户的完整列表。您还可以推断用户卸载您的应用程序的原因。最棒的是,你可以通过仪表板向那些卸载了你的应用程序的用户发送电子邮件,以便获得反馈或让这些用户加入。

我想你可以对它进行更新,看看你得到了多少更新。这是一种获取数据的草率方法,但这仍然是一种方法。这将帮助他使用其他人的应用程序,而不是他真正想了解的应用程序。