iOS8之后对定位和消息推送API的修改

1.定位

定位是定位,地图是地图,在iOS中 CLLocation是专门负责定位或者获取位置信息的;而MAPkit是专门负责地图显示的

位置管理器(CLLocationManager) :负责获取,同时负责监控用户位置发生变化
   
    //[注意] 位置管理器一定要写成属性,不是属性出栈就没有了
    _manager = [[CLLocationManager alloc] init];
    
    //设置位置管理器代理   <CLLocationManagerDelegate>
    _manager.delegate = self;
    
    //设置最小更新位置
    _manager.distanceFilter = 50.0f;  //单位 是 “米”
    //设置定位精确度,精确度越高 越费电
    _manager.desiredAccuracy = kCLLocationAccuracyBest;

[注:]苹果在iOS8里面修改了定位授权协议,也就意味着你原来的app在iOS8上很可能无法定位。目前最好的办法就是在app启动的时候调用IOS8的定位授权API来获取用户的授权,这样就不要在其他地方做修改了,如下

[_manager requestAlwaysAuthorization];

[_manager requestWhenInUseAuthorization];

[注:]   还需要在plist文件里面对 NSLocationAlwaysUsageDescription,NSLocationWhenInUseDescription 俩个属性进行添加,value可以为空;

//让位置管理器生效,开始更新位置变化

[_manager startUpdatingLocation];

2.消息推送API的修改

iOS常用的第三方推送服务器常用的有极光和信鸽;本次介绍信鸽服务器

从上图可以看出:

1.首先在你的app中注册通知, 注册通知时区别就在iOS8前后,区别如下

//[注]如果你的系统是iOS8或者之后的

if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
        
        
        //设置用户通知的表现形式
       
[[UIApplication sharedApplication]
registerUserNotificationSettings:[UIUserNotificationSettings
settingsForTypes:(UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge | UIUserNotificationTypeSound)
categories:nil]];
        
        
        //注册远程通知  申请 device token
        [[UIApplication sharedApplication] registerForRemoteNotifications];
        
    } else {
        //[注]注册一个远程通知,这个远程通知,有文字,角标,声音
       
[[UIApplication sharedApplication]
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
    }

//注册信鸽服务 只有注册这个服务后,之后的数据才会发往信鸽服务器,只有注册后,信鸽服务器才可以向这个app 推送消息

+(void)startApp:(uint32_t)appId appKey:(NSString *)appKey;

参数说明:
     Access Id: 通过xg.qq.com注册app时得到的Access Id。
    Access key:通过xg.qq.com注册app时得到的Access key。

例如: [XGPush startApp:1234567 appKey:@"IF3W91AV58NC"];

2、接收到 APNS 服务器返回给我们的 device token
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
    
    //向信鸽注册这个设备标示符
    //注册之后信鸽的设备列表中才有你的这个真机
    NSString *token = [XGPush registerDevice:deviceToken];
    NSLog(@"token: %@",token);
    
    
}

3、应用程序将device token发送给PUSH服务端程序。

4、服务端程序向APNS服务发送消息。

5、APNS服务将消息发送给iPhone应用程序。

时间: 2024-07-28 22:51:31

iOS8之后对定位和消息推送API的修改的相关文章

IOS8开发之实现App消息推送

第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器.你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机. 接下来再看一张解释图: 根据上图的逻辑我来给大家解释一下: 1.你的IOS应用

ios8消息推送

转自:http://blog.csdn.net/shenjie12345678/article/details/41120637 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器.你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然

IOS开发—IOS 8 中设置applicationIconBadgeNumber和消息推送

摘要 在IOS7中设置applicationIconBadgeNumber不会有什么问题,但是直接在IOS8中设置applicationIconBadgeNumber会报错 因为在IOS8中要想设置applicationIconBadgeNumber,需要用户的授权,在IOS8中,需要加上下面的代码: UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotifica

消息推送——本地推送

消息推送分两种: 1.本地推送(Local Notification) 2.远程推送(Remote Notification) 消息推送的作用 可以让APP不在前台,告知用户APP内部发生了什么 消息推送的效果 1.没有效果 2.横幅 在屏幕的顶部显示具体内容 3.提醒 UIAlertController 在屏幕中间显示具体内容 4.在锁屏的时候显示一块横幅 在手机的设置里面对它进行不同的效果设置 5.可以更改APP图标上面显示的提醒数字 注意:发送推送通知的时候,如果APP在前台运行,那么推送

IOS开发之实现App消息推送(最新)

好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下.(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步学会的,但是这些教程的时间都是去年或者更早时期的,对引导新手来说不是很合适) 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出

【转载自友盟消息推送iOS文档】在appDelegate中注册推送

1.2   基本功能集成指南 提示 请先在友盟的消息推送管理后台中创建App,获得AppKey和AppSecret 导入SDK 下载 UMessage_Sdk_All_x.x.x.zip并解压缩 导入插件 所需SDK文件夹:UMessage_Sdk_x.x.x 请在你的工程目录结构中,右键选择Add->Existing Files…,选择这个文件夹.或者将这个文件夹拖入XCode工程目录结构中,在弹出的界面中勾选Copy items into destination group's folder

友盟消息推送

博主也是第一次使用友盟消息推送,其中的配置我也不需要多讲,在这里附上iOS客户端友盟消息推送的集成文档,并讲讲个人使用心得 iOS友盟消息推送集成文档 这里既有集成文档的讲解步骤,还有证书配置的指南,只需要按照步骤集成即可. 1.配置服务器地址 友盟消息推送后台:适配iOS9,在info.plist文件中按截图配置 以iOS9 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断请求.目前可用如下两种方式保持用HTTP进行网络连接:

IOS消息推送(转)

第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器.你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机. 接下来再看一张解释图: 根据上图的逻辑我来给大家解释一下: 1.你的IOS应用

本地消息推送设置

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:10]; UILocalNotification *localNotification = [[UILocalNotification alloc]init]; localNotification.fireDate = date; localNotification.timeZone = [NSTimeZone localTimeZone]; localNotification.alertBo