Cocoapods篇
1.安装Cocoapods
2.使用Cocoapods导入Masonry
pod search Masonry //搜索
vim Podfile //配置Pod
pod install //依据Podfile导入第三方库到项目
使用Cocoapods导入Masonry后项目图层:
Masonry篇
在上文导入Masonry之后我们就可以用其优雅简明的解决autolayout
- (void)setUI
{
UILabel * label = [UILabel new];
label.text = @"apns(jspush),cocopods,masory";
label.textColor = [UIColor blueColor];
label.numberOfLines = 0;
[self.view addSubview:label];
//使用autoLayout之前 需要先将view添加到superview上 否则会报错
[label mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.view);//居中
make.size.mas_equalTo(CGSizeMake(200, 50));//设置label的size
}];
label = nil;}
俩大特征:
1.dot语法的书写格式
2.一个block解决所有问题
三个函数:
- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;
/*mas_makeConstraints 只负责新增约束 Autolayout不能同时存在两条针对于同一对象的约束 否则会报错*/
- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;
/*mas_updateConstraints 针对上面的情况 会更新在block中出现的约束 不会导致出现两个相同约束的情况*/
- (NSArray *)mas_remakeConstraints:(void(^) (MASConstraintMaker *make))block;
/*mas_remakeConstraints 则会清除之前的所有约束 仅保留最新的约束*/
Masonry介绍与使用实践:快速上手Autolayout - CocoaChina_让移动开发更简单
Apns(jspush)篇
用途:
简单粗暴的将特定的信息推送到特定的手机上
基本原理
Provider —> APNS—>Your’s APP
APNS通过 provider 与device 建立connection信任与和token信任来确保通讯可行,安全,可靠
Token Generation and Dispersal:
1.app 向system注册远程通知,然后system发送request给APNS
2.APNS返回一个独一无二的device token给device,然后system经过处理把其传递给APP
3.App将device token 以2进制或者16进制的格式发给your’provider
注意 device token 并不是不变的,当系统升级,或app重装都会改变
实际使用(以极光推送sample)
1.去开发者中心配置对应APPID ,推送证书[发开与生产Total:2个],PP文件
2.依据极光官方文档集成SDK
3.测试
测试图