文档章节

iOS 推送 获取手机设备的 deviceToken

1054949000
 1054949000
发布于 2014/10/14 17:32
字数 251
阅读 29932
收藏 8
点赞 1
评论 2


第一步:申请证书:




第二步:申请app ids,应用名字必须一致。然后再进入进行编辑,使其enable,绿灯。




第三步:申请provisioning profile,生成.mobileprovision,双击该证书才能正确导入手机设备,不能拖。





第四步:创建应用,使其名字一致。



第五步:写代码


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    // Override point for customization after application launch.

//    return YES;

    UIRemoteNotificationType types =

    (UIRemoteNotificationTypeBadge

     |UIRemoteNotificationTypeSound

     |UIRemoteNotificationTypeAlert);

    

    //注册消息推送

    [[UIApplication sharedApplication]registerForRemoteNotificationTypes:types];

    return YES;

    

}


//获取DeviceToken成功

- (void)application:(UIApplication *)application

didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

{

    NSLog(@"DeviceToken: {%@}",deviceToken);

    //这里进行的操作,是将Device Token发送到服务端

    

    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:nil message:[NSString stringWithFormat:@"DeviceToken:%@",deviceToken] delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

    [alert show];

}


//注册消息推送失败

- (void)application:(UIApplication *)application

didFailToRegisterForRemoteNotificationsWithError:(NSError *)error

{

    NSLog(@"Register Remote Notifications error:{%@}",error);

    //    NSLog(@"Register Remote Notifications error:{%@}",error.localizedDescription);

}


//处理收到的消息推送

- (void)application:(UIApplication *)application

didReceiveRemoteNotification:(NSDictionary *)userInfo

{

    NSLog(@"Receive remote notification : %@",userInfo);

    UIAlertView *alert =

    [[UIAlertView alloc] initWithTitle:@"温馨提示"

                               message:@"推送成功!"

                              delegate:nil

                     cancelButtonTitle:@"确定"

                     otherButtonTitles:nil];

    [alert show];

}



© 著作权归作者所有

共有 人打赏支持
1054949000
粉丝 6
博文 38
码字总数 914
作品 0
青浦
加载中

评论(2)

1054949000
1054949000

引用来自“鸣泽晨”的评论

registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later.
当初还没有iOS 8,所以不知道兼容性,好久没弄了,呵呵。
鸣泽晨
鸣泽晨
registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later.
ios推送-我不告诉你具体怎么做

我这里不说具体怎么做推送怎么导包,就说说我对推送的理解,和各个属性之间关系,哪里错了希望大神指点。 以下都是查询资料后自己的看法: 一、推送是怎么实现的。 首先明确一点iOS的推送都是...

iOS_windKing ⋅ 04/18 ⋅ 0

友盟iOS推送配置(从真机调试到推送)

下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已。 iOS推送(包括真机调试)所需要的步骤和文件如下: 备注:这...

easonjim ⋅ 2016/04/07 ⋅ 0

Appuploader的安装介绍

注意:下载AU后需安装java8运行环境才能启动;安装好了最新Java8运行环境,解压AU软件包,无需安装,Windows 64位系统点击appuploader.exe启动;如果是Linux/Windows 32位系统或Mac系统双击appuplo...

webmirror ⋅ 05/11 ⋅ 0

移动设备(手机)的唯一ID有哪些

在移动广告领域,设备的ID 是用来追踪一个人的最重要的标识。 对于APP自身产品而言,使用设备唯一ID可以追踪到用户从下载到激活、注册、使用、流失、回归的全流程数据,对产品运营工作非常有...

IVAN_jsjwk ⋅ 05/29 ⋅ 0

【五元感谢】关于app推送 新人新问题

问下,小弟刚做app。 有ios和安卓,不懂推送。 第三方好多推送,现在有2个问题: 1:是否用一个第三方的产品,如极光推送,就可以在ios和安卓用这一套就可以了 2:目前哪个推送产品,比较简单...

kkk111112 ⋅ 04/25 ⋅ 0

input 输入框被软键盘遮挡问题

1.安卓手机 在软键盘被弹起来的时候输入框不被遮挡,支持性良好 2.ios手机 在软键盘被弹起来的时候输入框被遮挡,体验很不好 在经过多次实验发现,ios手机输入框被弹起的瞬间是不被遮挡的,过...

爱喝水的小熊 ⋅ 06/06 ⋅ 0

【AR】开始使用Vuforia开发iOS(2)

原 设置iOS开发环境 安装Vuforia iOS SDK 如何安装Vuforia iOS示例 编译并运行Vuforia iOS示例 支持iOS金属 iOS 64位迁移 设置iOS开发环境 适用于iOS的Vuforia引擎目前支持运行iOS 9及更高版...

lichong951 ⋅ 06/11 ⋅ 0

挖掘安卓宝藏,EMUI会让手机进入“量心定制”时代吗?

如果把移动终端的发展历程看做一部戏剧,那么Android和iOS两种操作系统生态之间的竞争一定是最精彩的一折。 从市场占有率来看,2017年Android手机在全球售出的手机中占据了85.9%份额,其中自...

脑极体 ⋅ 04/17 ⋅ 0

iOS 11.4 增加新功能,了解一下

Apple(苹果)iOS系统,一直都在不断更新。早前 Apple 就放出了 iOS 11.4 测试版。如今,最新消息显示,iOS 11.4 测试版又新增了一项功能。 据悉,在最新的iOS 11.4 测试版中,Apple(苹果)...

m7720eiosi6oa9 ⋅ 05/06 ⋅ 0

苹果WWDC2018开发者大会总结,不错过任何一个重点,最后发布的新品你一定意想不到

前言: 北京时间2018年6月5日1点,苹果在美国圣何塞举行苹果全球开发者大会(WWDC)。在此次开发者大会中,推出全新iOS 12全新系统版本,以及全新watchOS 5,tvOS和macOS Mojave。 iOS 12:增...

马蹄上的茉莉清香i ⋅ 06/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 28分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 47分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 56分钟前 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部