在进入新版本 的时候,进行推送引导
Posted 徒步天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在进入新版本 的时候,进行推送引导相关的知识,希望对你有一定的参考价值。
xx效果
具体代码如下
首先新建XMGPushGuideView类
XMGPushGuideView.h 文件
#import <UIKit/UIKit.h>
@interface XMGPushGuideView : UIView
/** 加载xib */
+(instancetype)guideView;
/** 判断当前的版本号,确定是加载推荐引导页 */
+(void)show;
@interface XMGPushGuideView : UIView
/** 加载xib */
+(instancetype)guideView;
/** 判断当前的版本号,确定是加载推荐引导页 */
+(void)show;
@end
XMGPushGuideView.m 文件
#import "XMGPushGuideView.h"
@implementation XMGPushGuideView
+(instancetype)guideView{
return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];
}
- (IBAction)close {
[self removeFromSuperview];
}
+(void)show{
NSString *key=@"CFBundleShortVersionString";
// 获得当前软件的版本号
NSString *currentVersion = [NSBundle mainBundle].infoDictionary[key];
// 获得沙盒中的存储的版本号
NSString *sanboxVersion=[[NSUserDefaults standardUserDefaults] stringForKey:key];
if (![currentVersion isEqualToString:sanboxVersion]) {
// 获得当前的window
UIWindow *window=[UIApplication sharedApplication].keyWindow;
XMGPushGuideView *guideView=[XMGPushGuideView guideView];
guideView.frame=window.bounds;
[window addSubview:guideView];
// 存储版本号
[[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:key];
// 马上把版本号存储到沙盒中
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
@end
@implementation XMGPushGuideView
+(instancetype)guideView{
return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];
}
- (IBAction)close {
[self removeFromSuperview];
}
+(void)show{
NSString *key=@"CFBundleShortVersionString";
// 获得当前软件的版本号
NSString *currentVersion = [NSBundle mainBundle].infoDictionary[key];
// 获得沙盒中的存储的版本号
NSString *sanboxVersion=[[NSUserDefaults standardUserDefaults] stringForKey:key];
if (![currentVersion isEqualToString:sanboxVersion]) {
// 获得当前的window
UIWindow *window=[UIApplication sharedApplication].keyWindow;
XMGPushGuideView *guideView=[XMGPushGuideView guideView];
guideView.frame=window.bounds;
[window addSubview:guideView];
// 存储版本号
[[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:key];
// 马上把版本号存储到沙盒中
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
@end
而在AppDelegate.m文件
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// 创建窗口
self.window=[[UIWindow alloc]init];
self.window.frame=[UIScreen mainScreen].bounds;
// 设置窗口的跟控制器
self.window.rootViewController=[[XMGTabBarController alloc]init];
// 显示窗口
[self.window makeKeyAndVisible];
// 显示推送引导
[XMGPushGuideView show];
return YES;
// Override point for customization after application launch.
// 创建窗口
self.window=[[UIWindow alloc]init];
self.window.frame=[UIScreen mainScreen].bounds;
// 设置窗口的跟控制器
self.window.rootViewController=[[XMGTabBarController alloc]init];
// 显示窗口
[self.window makeKeyAndVisible];
// 显示推送引导
[XMGPushGuideView show];
return YES;
}
以上是关于在进入新版本 的时候,进行推送引导的主要内容,如果未能解决你的问题,请参考以下文章
iPhone:如何推送与以前支持的 OSv3.2 不兼容的新版本