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