QMPushGuideView.h
#import <UIKit/UIKit.h>
@interface QMPushGuideView : UIView
//初始化引导图
+ (instancetype)guideView;
//展示引导图
+ (void)show;
@end
QMPushGuideView.m
#import "QMPushGuideView.h"
@implementation QMPushGuideView
//初始化引导图
+ (instancetype)guideView
{
return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];
}
//移除引导图
- (IBAction)close {
//从父视图上移除
[self removeFromSuperview];
}
//显示引导图
+ (void)show
{
NSString *key = @"CFBundleShortVersionString";
//获得当前软件的版本号 infoDictionary -- 里面还有info.plist的信息
NSString *currentVersion = [[NSBundle mainBundle] infoDictionary][key];
//获得沙盒中储存的版本号
NSString *sandBoxVersion = [[NSUserDefaults standardUserDefaults] stringForKey:key];
UIWindow *mainWindow = [UIApplication sharedApplication].keyWindow;
if (![currentVersion isEqualToString:sandBoxVersion]) {
//创建推送引导视图
QMPushGuideView *guidView = [QMPushGuideView guideView];
guidView.frame = mainWindow.bounds;
[mainWindow addSubview:guidView];
//储存版本号
[[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:key];
//马上储存
[[NSUserDefaults standardUserDefaults] synchronize];
}
}