我们如何知道我们的应用程序是不是从 iPhone 上卸载? [关闭]

Posted

技术标签:

【中文标题】我们如何知道我们的应用程序是不是从 iPhone 上卸载? [关闭]【英文标题】:How we know if our app uninstalled from iphone? [closed]我们如何知道我们的应用程序是否从 iPhone 上卸载? [关闭] 【发布时间】:2012-11-28 11:15:42 【问题描述】:

如果假设我们的应用从 iphone 上卸载,我想知道日期?

【问题讨论】:

【参考方案1】:

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

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

同样,这应该仅用于对您的卸载提供一个非常粗略的了解,因为用户可能出于任何原因选择退出推送通知或用户的令牌更改。

【讨论】:

【参考方案2】:

有一些工具可以为您跟踪应用卸载情况。我觉得有用的是Uninstall tracking - MoEngage。他们为您提供了卸载您的应用程序的用户的完整列表。您也可以推断出是什么让用户卸载了您的应用程序。最好的部分是您可以通过MoEngage 仪表板向那些卸载了您的应用程序的用户发送电子邮件,以便获得反馈或让这些用户加入。

【讨论】:

【参考方案3】:

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

【讨论】:

我想你可以为它做一个更新,看看你得到了多少更新。这是获取任何数据的一种草率方式,但它仍然是一种方法。【参考方案4】:

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

但是,您可以将首次下载日期保存在钥匙串或其他文件中,并在您想知道时将其取回。

即使在删除应用程序后,所有钥匙串都存储在您的设备中。假设您删除了该应用并再次下载它,您的钥匙串将与第一个日期和时间保持不变。

使用此钥匙串或包含应用程序列表的文件并进行比较以查找丢失的应用程序。

您可以使用一些调整来做到这一点。

阅读: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;

【讨论】:

这将帮助他使用其他应用程序 - 而不是真正想要了解的应用程序。

以上是关于我们如何知道我们的应用程序是不是从 iPhone 上卸载? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我们如何检查iphone是不是处于待机模式?

服务器如何知道 iPhone 是不是收到推送通知?

如何创建真正的 APN Server 以及如何使用 APN Server iPhone 测试应用程序?

通过 UIImagePickerController 我们可以访问和上传图片。如何从 iPhone 访问和上传文件?

如何以编程方式确定 iPhone 的密码是不是已更改或删除?

当 Apple Watch 处于后台状态或睡眠模式时,我们如何从 iphone 向 Apple Watch 发送消息?