如果假设我们的应用程序从 iPhone 上卸载,我想知道日期?
4 回答
正如其他人已经回答的那样 - 你不能。
但是,如果您在应用程序中启用了推送通知,您可以通过使用 APN 反馈服务来查看哪些 apn 令牌已被删除(假设卸载),从而获得一个非常粗略的想法。此 SO 帖子中有更多信息:“推送通知”-反馈,卸载应用程序
同样,这应该仅用于对您的卸载给出一个非常粗略的想法,因为用户可能出于任何原因选择退出推送通知或用户的令牌更改。
有一些工具可以为您跟踪应用程序的卸载情况。我觉得有用的是卸载跟踪 - MoEngage。他们为您提供了卸载您的应用程序的用户的完整列表。您也可以推断出是什么让用户卸载了您的应用程序。最好的部分是您可以通过MoEngage 仪表板向那些卸载了您的应用程序的用户发送电子邮件,以便获得反馈或让这些用户加入。
你不能,没有办法判断应用程序是否被删除,Apple 也不会跟踪你和开发人员可以访问的已卸载应用程序。
没有直接的方法可以获取此信息。
但是,您可以通过将第一个下载日期保存在钥匙串或其他文件中,并在您想知道时将其取回。
即使在删除应用程序后,所有钥匙串都存储在您的设备中。假设您删除了该应用程序并再次下载它,您的钥匙串将与第一个日期和时间保持不变。
使用此钥匙串或具有应用程序列表的文件并进行比较以查找丢失的应用程序。
您可以使用一些调整来做到这一点。
阅读: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;
}