在进入新版本 的时候,进行推送引导

xx效果

具体代码如下

首先新建XMGPushGuideView类

XMGPushGuideView.h 文件

#import <UIKit/UIKit.h>

@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 *[email protected]"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;

}

时间: 2024-10-14 03:07:53

在进入新版本 的时候,进行推送引导的相关文章

推送服务之socket.io

一.作者自述 从事软件开发3年了,出于各种原因(其实是因为我懒,啊哈哈~),第一次决定动手写点什么.第一呢,给自己一个总结的机会,梳理下自己的知识库.第二呢,同第一点... 自从大学毕业后,一直处于一种"极度"的繁忙之中.从刚开始入行时各种学习的"饥渴"状态,到后来工作需要的"填鸭"状态,一直在学,一直在用,边用边学.刚开始接触的知识面比较窄,但随着工作的变换,能力的提升,接触的东西越来越多了.慢慢的,自己越来越感觉知识杂乱,缺乏梳理.因此,决定

Mosquitto搭建Android推送服务(二)Mosquitto简介及搭建

文章钢要: 1.了解Mosquitto服务器 2.在Liunx中搭建Mosquitto服务器 3.设置Mosquitto集群 一.Mosquitto简介 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机.嵌入式计算机.微型控制器等移动设备.一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远

消息推送之百度云推送Android集成与使用方法

这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路.好在我耗费了N多个毫毫秒秒后稀里哗啦的闯了过来. 在此先吐槽一下.这个云推送虽然没多少东西,但对于初次接触的人来说还是有点不利索的,所以肯定要看官方文档,只是不知是百度哪个哥们做的文档,pdf做的也太不地体贴了:英文字符里面竟然有中文空格,复制到自己的项目中发现江山一片红,娘的,这猛一看还不一定能看得出来到底是哪里出了错. fo

android后台信息推送调研

android后台信息推送调研 前言 我们已经开发了一个应用,这里称为A应用,类似于天气weather那种.现在的任务就是如果这些A应用有新版本了,或者天气出现比较恶劣的状况,要及时在手机上进行消息的推送,提示有新的应用可以更新了,和天气将要变遭了,提醒用户需要注意的情况.及需要实现消息推送机制. 推送方式基础知识 要获取服务器上不定时更新的信息,一般来说有两种方法:第一种是客户端使用Pull(拉)的方式,就是隔一段时间就去服务器上获取一下信息,看是否有更新的信息出现.第二种就是 服务器使用Pu

使用极光/友盟推送,APP进程杀死后为什么收不到推送(转)

为什么会存在这样的 问题,刚开始的时候我也搞不清楚,之前用极光的时候杀死程序后也会收到推送,但最近重新再去集成时就完全不好使了,这我就纳闷了,虽然Google在高版本上的android上面不建议线程守护,所以将进程有关的Service都杀掉了,但旧版本还是有这个功能的啊 !真尼玛,后来猜测估计是因为要适配6.0所以低版本的一些代码就删除了,造成低版本的也不行了,接下来分析一下这个问题. 首先我们把Android分为两类机型,一种是原生态的Android系统,比如Nexus,三星等机型,一种是深度

百度云推送消息到达率低问题定位分析

去年做我们这个产品的时候,SE在客户端设计了一个推送功能,SE经过调研决定在Android和IOS端都集成百度的云推送SDK来支持这个推送功能.最近领导在做运营分析的时候,发现云推送的报表显示,在Android端消息的达到率非常低,设备的在线率波动比较大,有时高有时非常低. 我们的这个产品经过将近两年的折腾进步是有目共睹的,在今年的巴塞罗那GSMA世界移动通信大会上荣获"Best Mobile Music App"大奖,让我们这帮苦逼了将近两年的屌丝士气大振,领导也欣喜不已并且决定将精

收不到Win10一周年更新?一招立推送

微软已经在北京时间8月3日开始推送Win10一周年更新正式版,不过这次推送和一年前基本一致,都是要分期分批进行,因此现在还有很多用户没有收到新版本.这让某些用户比较着急,毕竟该版本在功能和颜值等多方面进步了一大截.怎么才能让微软现在就为你推送一周年版呢?win10专业版官网教你用一个命令搞定. 方法很简单,具体操作如下: 1.打开以下路径,并删除其中所有文件: C:\Windows\SoftwareDistribution\Download 注意,这可能需要澳门永利娱乐管理员权限,有对话框弹出时

iOS10 推送必看(基础篇)

来源:徐不同 链接:http://www.jianshu.com/p/f5337e8f336d iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说.希望看完我的这篇文章,对大家有所帮助. 一.简单入门篇—看完就可以简单适配完了 相对简单的推送证书以及环境的问题,我就不在这里讲啦,我在这里说的,是指原有工程的适配. 1.首先我们需要打开下面的开关.所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的哟~ 之后,系统会生成一个我们以前没见过的文件,如图: 可能产生

GCM(谷歌云推送)客户端服务器端开发全指南(服务器篇)

今天我们按照之前所说的步骤介绍GCM云推送服务端的开发,因为服务端的开发比客户端的开发较简单,遵从由易到难,一步一步攻破的原则,所以我先于客户端讲服务端的开发,话不多说,让我们开始吧! 首先我们依旧来到首页 这次我们点击指南,进入到GCM开发Overview,这里概括了GCM客户端服务器端开发流程. 根据以下的流程图我们不难看出服务端和GCM的通信方式有两种 1.Http协议 2.Xmpp协议 Xmpp协议常用于双向通信,我们这里暂时不需要,因此果断选择Http协议来开发. 英语比较好的朋友可以