AppUpdateTracker 是一个简单、轻量级的 iOS 库,旨在确定基本的应用安装/更新行为。以下是触发事件的列表
此库在每次应用会话中(每次运行应用时)仅针对上述三种行为之一(每次)发布警报或执行带有信息的块。
仅将 AppUpdateTracker 文件夹(及其内容)复制到您的项目。
在您的 AppDelegate
类中导入 AppUpdateTracker.h
并在 application:didFinishLaunchingWithOptions:
方法内为 AppUpdateTracker
事件注册
#import "AppUpdateTracker.h"
//...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
[AppUpdateTracker registerForAppUpdatesWithBlock:^(NSString *previousVersion, NSString *currentVersion) {
NSLog(@"app updated from: %@ to: %@", previousVersion, currentVersion);
}];
[AppUpdateTracker registerForFirstInstallWithBlock:^(NSTimeInterval installTimeSinceEpoch, NSUInteger installCount) {
NSLog(@"first install detected at: %f amount of times app was (re)installed: %lu", installTimeSinceEpoch, (unsigned long)installCount);
}];
[AppUpdateTracker registerForIncrementedUseCountWithBlock:^(NSUInteger useCount) {
NSLog(@"incremented use count to: %lu", (unsigned long)useCount);
}];
//...
}
咨询示例项目以获取更多信息。
可能的代码破坏性更改
installCount
,这将第一个安装块注册方法更改为 + (void)registerForFirstInstallWithBlock:(void (^)(NSTimeInterval installTimeSinceEpoch, NSUInteger installCount))block
。oldVersion
改为 previousVersion
,这更改了通知旧版本键为 kAUTNotificationUserInfoPreviousVersionKey
。currentVersion
,这更改了应用更新的块注册方法为 + (void)registerForAppUpdatesWithBlock:(void (^)(NSString *previousVersion, NSString *currentVersion))block
。+ (BOOL)getUserUpgradedApp
更改为了 + (BOOL)getUserUpdatedApp
。MIT 许可证
版权所有 (c) 2012, Aaron Jubbal。保留所有权利。
以下对本软件及其相关文档文件(以下简称“软件”)的使用,任何人可以免费获得,不受限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许他人据此副本进行上述操作,但以下条件必须遵守:
上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。
本软件按“现状”提供,不提供任何形式,不论是明示还是暗示的保证,包括但不限于 merchantability、特定用途适用性和 non-infringement。在任何情况下,作者或版权所有者不对任何索赔、损害或任何其他责任负责,不论是在 contract、tort 或其他法律行为中产生,或与软件相关、使用或处理而引起的。