您的位置:首页 > 移动开发 > IOS开发

iOS开发一路走来看到,好奇,好玩,学习的知识点记录

2016-08-18 16:29 441 查看
AutoreleasePool

http://blog.sunnyxx.com/2014/10/15/behind-autorelease/



http://blog.leichunfeng.com/blog/2015/05/31/objective-c-autorelease-pool-implementation-principle/



10.21周末学习资料

http://gcblog.github.io/2016/12/24/iOS%E6%95%B0%E7%BB%84%E9%98%B2%E6%AD%A2%E8%B6%8A%E7%95%8Ccrash/



https://github.com/suifengqjn/FMArrarMonitor



https://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=204772288&idx=1&sn=182ebf11253f80579f386f0c9cf4750e#rd



http://zhangbuhuai.com/copy-in-objective-c/



https://www.google.com.hk/search?q=callStackSymbols&oq=callStackSymbols&aqs=chrome..69i57.237j0j7&sourceid=chrome&ie=UTF-8



http://www.jianshu.com/p/2ac1a1274497



https://www.google.com.hk/search?newwindow=1&safe=strict&q=iOS+hook+%E5%87%BD%E6%95%B0&oq=iOS+hook+%E5%87%BD%E6%95%B0&gs_l=psy-ab.3...1165.7822.0.7996.24.20.1.0.0.0.533.2870.2-8j1j0j1.10.0....0...1.1j4.64.psy-ab..14.8.2007...0j0i131k1j0i10k1j0i13k1j0i12k1.0.krc9ZMHRiW8



https://iliunian.cn/14568026805394.html



iOS 事件拦截机制,来保证无码埋点,统一上报

1.HTTPS请求逻辑

2.倒计时

3.刹车和slider自定义

4.NSNumber的精度计算问题 算出来精度有问题需要可以试着保留八位 银行家规则字段

5.后台返回null之后,解析字段为<null> 如果进行doubleValue之后直接崩溃,给NSNull写一个Category

6.图片上传,图片压缩

7.手势和指纹解锁

8.https://github.com/banchichen 一个阿里巴巴员工写的图片裁剪东西

9.关于AF里面URL拼接问题 http://www.jianshu.com/p/09f825054076
10.关于Bitcode http://www.jianshu.com/p/f42a33f5eb61
11.http://io.diveinedu.com/ 这里的博客知识点可以深入学习

12.git 远程仓库push pull 和 reset,revert的问题 http://www.ruanyifeng.com/blog/2014/06/git_remote.html,http://yijiebuyi.com/blog/8f985d539566d0bf3b804df6be4e0c90.html
13.没辙,准备学习万恶的CoreText。看着看着,发现了CoreText的封装版本TextKit,OC接口的,顿时顺心了。TextKit主要就三个类: NSTextStorage用来保存需要显示的文本及相关属性, NSLayoutManager用来决定文本显示的格式, NSTextContainer决定文本显示的范围。这个主要能解决连接高亮、下划线、文字标记、区域显示等问题,对此问题也没有帮助

14。冲突解决 第一个标识 用本地的 第二个 以左边为主 第三个 以右边为主 第四个 以服务器为准

15.https://github.com/boai 孙博岩的博客Demo学习

16:CRAnimation学习 渐变渲染和气泡扩散

18:GrainEffect 学习 视频直播的时候用到各种特效 烟花炸裂等

19:https://github.com/axclogo/AxcUIKit-Sample 一个整合的UI框架

20:https://thekingofworld.github.io/dequeueReusableCellWithIdentifier-dequeueReusableCellWithIdentifier_forIndexPath.html
https://stackoverflow.com/questions/25826383/when-to-use-dequeuereusablecellwithidentifier-vs-dequeuereusablecellwithidentifi http://www.jianshu.com/p/8a3a2706a735
tableView两个注册cell有什么区别

21.数据存储方式

>1 NSUserdefault 写入plist 保存一些用户操作的开关配置

>2 NSKeyedArchiver 把json通过归档encode成data,写入沙盒地址 保存配置文件

22.Null和nil如何出现的问题

-----> Null其实就是空的对象,是有值,值为空的对象而已 该对象能存入NSArray或者NSDictionary

"profitRemark" : null, 就是解析出来NSNull Class

-----> nil 空值

"profitRemark" : , 空值,就是一般判断下的nil

// judge nil dict 对应的 key不存在,那么返回值为nil,或者对应key的值也不存在,返回也是nil

if(![dict objectForKey:key]){

return NO;

}

// 还有一种就是key对应的值为null,那么其实获取到的obj是NSNull,不为空,但是需要进行过滤

id obj = [dict objectForKey:key];// judge NSNull

return ![obj isEqual:[NSNull null]];

23.如何使用TestFlight进行App构建版本测试 http://www.jianshu.com/p/27545c2d4d8b
24. 同步锁的问题

@weakify(self)

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{

[self sendRequestWithSessionManager:manager

sync:isSync

requestMethod:requestMethod

finishedBlock:^(MTFConnectData * _Nonnull connectData,BOOL needReSend) {

@strongify(self);

@synchronized(self)

{

if (needReSend) {

[self sendRequestWithSessionManager:manager

sync:YES

requestMethod:requestMethod

finishedBlock:^(MTFConnectData * _Nonnull connectDataNew, BOOL needReSend) {

dispatch_async(dispatch_get_main_queue(), ^{

finishedBlock(connectDataNew);

});

}];

}

else{

dispatch_async(dispatch_get_main_queue(), ^{

finishedBlock(connectData);

});

}

}

}];

});

25.一个总结第三方框架和iOS开发的博客大哥
https://huang303513.github.io/2017/05/01/SDWebImage%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90(%E4%B8%80).html


===================================== 以下是2016年分割线 =======================

断点调试

http://www.cocoachina.com/ios/20150805/12842.html



Wiki竟然能找到福利

https://www.facebook.com/Wiki-1454908904740504/



iOS逆向工程

冰与火之歌在非越狱手机上hook---http://drops.xmd5.com/static/drops/papers-12803.html (本人亲测直接能安装,但是闪退)

微信重签还是闪退 https://testerhome.com/topics/4558
Github上的逆向应用注入 https://github.com/Urinx/iOSAppHook
Cycript进行运行时分析(越狱) http://www.jianshu.com/p/bb65b76c1b4b
微信抢红包插件详细步骤,但是重签步骤有问题,失败 http://www.jianshu.com/p/189afbe3b429
iOS CPU 架构

http://www.jianshu.com/p/9f1639ab9a9f



如何使用最新版本的reveal来查看所有app的UI

权威版本比较老的reveal: http://www.jianshu.com/p/4dc8f94ca27c
终极权威版本最新版本reveal:https://hurui.gitbooks.io/reveal-debug/content/viewOtherApp.html

有点不权威的版本:http://chaosky.me/2016/07/27/iOS-Security-Defense-Reveal/

如果找不到对应的MobileSub文件目录,参考这里http://www.jianshu.com/p/060745d5ecc2 ls -l /Libriry

把越狱手机上的内容copy到电脑 打开电脑终端,然后 https://segmentfault.com/q/1010000006251229
Umeng统计分析线上崩溃信息/dSYM文件分析(打包的时候保留的文件)

http://blog.csdn.net/sir_coding/article/details/53426588

http://www.jianshu.com/p/aaa7ae8cab25



http://www.jianshu.com/p/0b6f5148dab8 ---> 这个详细点







HTTPS的iOS适配

http://www.jianshu.com/p/f312a84a944c

http://www.cnblogs.com/KingQiangzi/p/5820884.html





LFLiveKit 推流


ijkplayer B站视频直播

http://www.jianshu.com/p/6c6b59a875c1 流媒体简单博客 http://blog.sina.com.cn/s/blog_6cf7acdf0102v0xv.html m3u8的理解
http://www.cnblogs.com/lcw/p/3396457.html 流媒体技术的非常详细解释
http://www.cnblogs.com/booksky/p/5213198.html 浅谈视频开发资料大全

Kxmovie源码分析简易分析

整体思路是KxMovieDecoder通过视频文件或者网络地址使用FFmpeg解码,将视频文件解码为YUV或者RGB文件(图像文件)。然后KxMovieGLView呈现YUV或者RGB文件。KxAudioManager进行播放管理,例如paly,pause等,KxMovieViewController使用以上API,构建播放器界面

1.KxMovieDecoder文件

KxMovieDecoder提供解码的API,在vedio解码为YUV或者RGB文件。

从公共API入手,进行分析。以下分析只是提取了vedio的操作。

a.打开文件,进行如下操作

+ (id) movieDecoderWithContentPath: (NSString *) path error: (NSError **) perror

打开网络流的话,前面要加上函数avformat_network_init()。

AVFormatContext:统领全局的基本结构体。主要用于处理封装格式(FLV/MKV/RMVB等)。AVFormatContext初始化方法avformat_alloc_context()

打开输入流,四个参数分别是ps:AVFormatContext对象的地址,filename:输入流的文件名,fmt:如果非空,这个参数强制一个特定的输入格式。否则自动适应格式。int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);

读取数据包获取流媒体文件的信息,每个AVStream存储一个视频/音频流的相关数据;每个AVStream对应一个AVCodecContext,存储该视频/音频流使用解码方式的相关数据。int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options);

找到合适的解码器,

AVCodecContext *codecCtx = _formatCtx->streams[videoStream]->codec;AVCodec *codec = avcodec_find_decoder(codecCtx->codec_id);

Initialize the AVCodecContext to use the given AVCodec. return zero on success, a negative value on error avcodec_open2(codecCtx, codec, NULL);

b. - (BOOL) openFile: (NSString *) path error: (NSError **) perror;

与方法a相比,方法a只是比此方法多了初始化方法 KxMovieDecoder *mp = [[KxMovieDecoder alloc] init];

c. - (void)closeFile;

结束

 av_frame_free(&pFrame);

avcodec_close(pCodecCtx);

avformat_close_input(&pFormatCtx);

d. - (BOOL) setupVideoFrameFormat: (KxVideoFrameFormat) format;

枚举设置为 KxVideoFrameFormatRGB或者KxVideoFrameFormatYUV,

e.- (NSArray *) decodeFrames: (CGFloat) minDuration;

通过AVFormatContext对象读取frames。需要方法a的操作做铺垫。

从 AVFormatContext读取下一个AVPacket。int av_read_frame (AVFormatContext *s, AVPacket *pkt)

解码从AVPacket *avpkt转化为AVFrame *picture。。int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr,
const AVPacket *avpkt);

帧速控制attribute_deprecated int avpicture_deinterlace (AVPicture *dst,
const AVPicture *src,
enum AVPixelFormat pix_fmt,
int width, int height)

返回frames的数组。

2.KxAudioManager

播放管理,例如paly,pause等,

3.KxMovieGLView

KxMovieDecoder提供解码的API,在vedio解码为YUV或者RGB文件。KxMovieGLView利用OpenGLES(绘图技术)呈现YUV文件。

4.KxMovieViewController

使用以上API,构建播放器界面



UIWindow做半透明弹窗, present弹出来是相当于Window先移除再替换,设置clearcolor的时候是黑色的,也就是window,一个方法可以用View来做,还有一个可以用UIWindow来做,完全隔离开来,而且statusBar也是window,normal -- statusBar -- alert三种类型的属性,可以实现类似网易云音乐切换视图的时候,右上角的动画一直存在

微信小程序

微信小程序文档:http://www.helloxcx.com/jc/framework/config.html

微信小程序破解教程:https://github.com/gavinkwoe/weapp-ide-crack


个人觉得非常实在的文章github

https://github.com/Tuccuay



cocoapods 唐巧的介绍

http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/



http://www.jianshu.com/p/e2806f9d9e6f 这个概括的非常详细了



http://hyichao.github.io/ios/2015/12/06/cocoapods-slow.html 更详细



[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master`.的问题



cd .cocoapods/

有一个a.tar 和repo

cd repo 发现没有master 解压

iOS版本号问题 升级 build

http://www.jianshu.com/p/538c2c39e02e



App URL Scheme多了解下

ReactiveCocoa 链式响应编程

https://github.com/ReactiveCocoa/ReactiveCocoa gitgub地址



参考中文资料

1.简书基础入门

http://www.jianshu.com/p/dcc06e2685b7?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-timeline



2.github中文相关资料集合

https://github.com/ReactiveCocoaChina/ReactiveCocoaChineseResources



比友盟更强大的统计工具,还能统计BUG 听云,有空集成下

http://www.tingyun.com/



http://devcai.com/about-afnetworking/ 一个写键盘的博主
http://www.niaogebiji.com/article-9882-1.html 开发者账号
https://www.kancloud.cn/digest/gsb-ios-dev/120336 个人

安装软件提示损坏打不开解决方法:http://www.macappstore.net/tips/mac-setup-app/

MacBook Retina超清壁纸下载:http://www.macappstore.net/wallpaper/



Mac安装的破解软件提示损坏 sudo spctl --master-disable 打开任何来源

http://www.macappstore.net/tips/mac-setup-app/



11.25日需要写微信朋友圈

http://www.jianshu.com/p/5d3954188ea6



iOS推送问题

友盟论坛里面的回答:

ios9以前的系统里面:一个设备的token是唯一的。除了升级系统等少量情况,基本不变。 而且在token变了以后,老的token,就被认为是无效了。 苹果不会对这部分无效的token推送。

ios9的系统:一个app每一次重新安装多会产生新的token。 而且老的token不会无效,还可以正常推送。 这个问题,我们在ios9刚发布的时候,我们就向苹果反馈过这个问题,也得到过他们反馈,应该是个bug。但是他们一直也没有修复。 所以这个重担就落在我们头上。

处理办法:

我们目前是根据OpenUDID(实时过滤)和IDFA(按天过滤)双重过滤(部分app没有采集IDFA,就只按按照OpenUDID),对于同一个OpenUDID或者IDFA只采用最新的devietoken做为设备的有效devicetoken,老的我们这边认为是非法的。 由于某些原因OpenUDID也可能会变,所以就会有极少量的设备可能会存在发送两次以上的情况(尤其是测试设备)。



1.登录UID定向推送,这种情况下就可以一个uid token ts来作为唯一标识,

例如用户登陆了A手机,然后推出了,那么再登录B手机,这个时候只有B手机才能收到推送,通过TS来拿最新的token进行推送,也就是登录推送的情况下是uid绑定的,uid不变,用最新的ts来推送

2.全推送的做法

uid为0,那么可以把为0全部一起推出去,那么当我一个手机安装卸载安装卸载之后,为0(现在是同一个)的token会对应多个,上面说了iOS 9之后的时候老token也是有效的,那么这个时候一个手机就会出现多次推送,也是推测的,那么当全员推送的时候数据大概是这样的

0 ------- token1 token2 token3 ----5s

[b]0 ------- token1 token2 token3 -----6s

[/b]

[b][b]0 ------- token1 token2 token3 ----- 7

[/b][/b]

[b][b]81545 ---- token ------ 6s[/b][/b]

[b][b]针对同样是6s行为,一开始没登录有三个token,登录有有个新的,那么推送的时候如果全部推送的话,9以下失效就没事,最新的就可以,不失效的话就无语了,一个手机会出现多次的情况[/b][/b]



[b][b]这里暂时可以的做法是用全员推送的时候用openUDID来标识唯一手机,然后选取最新的来推全员,不然就会导致出现多次推送[/b][/b]

以下三个作为进阶

GPUImage做动画(下半截)

https://objccn.io/issue-5-3/



OpenGL做特效

https://github.com/Yalantis/StarWars.iOS



电子书类型的转场

https://github.com/ColinEberhardt/VCTransitionsLibrary#using-an-interaction-controller



11.21日先写小红书的效果以及pop简单加上碎屏

iOS 10动画的协议新增特性

https://github.com/seedante/iOS-ViewController-Transition-Demo



这里有个非常牛B的一群人对转场动画的理解

https://www.google.com.hk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&safe=strict&q=iOS%E7%A2%8E%E5%B1%8F%E8%BD%AC%E5%9C%BA%E5%8A%A8%E7%94%BB



一个百度大神的的DemoGithub

https://github.com/bestswifter/MySampleCode



SVN非常详细问题
http://www.jianshu.com/p/32d17452a4cd
自定义专场动画
https://objccn.io/issue-5-3/ 这个里面有带有GPUimage的写法
https://github.com/bestswifter/MySampleCode这个全 http://blog.devtang.com/2016/03/13/iOS-transition-guide/唐巧的那套
很早的KVO谈原理
http://blog.sunnyxx.com/2014/03/09/objc_kvo_secret/
KVO监听自己属性会循环引用? http://www.olinone.com/?p=232
iOS开发通讯模式http://m.doc00.com/doc/10010054n

NSHisper KVO http://nshipster.cn/key-value-observing/
如果自己观察自己,那么这个时候dealloc的是

dealloc->NSKVONotifying_SecondViewController
派生出来的SecondVC子类,难道正真的SecondViewcontroller没有被调用?

这里有个KVO的面试题
http://devcai.com/%E6%9C%80%E8%BF%91%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93/#comment-11
11.14号晚上写的博客Block第三集参考文献
http://www.cnblogs.com/biosli/archive/2013/05/29/iOS_Objective-C_Block.html http://www.dahuangphone.com/dv_rss.asp?s=xhtml&boardid=8&id=85&page=3
猫神的面试题
https://onevcat.com/2013/04/ios-interview/
微博致命程序员面试题
https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01%E3%80%8A%E6%8B%9B%E8%81%98%E4%B8%80%E4%B8%AA%E9%9D%A0%E8%B0%B1%E7%9A%84iOS%E3%80%8B%E9%9D%A2%E8%AF%95%E9%A2%98%E5%8F%82%E8%80%83%E7%AD%94%E6%A1%88/%E3%80%8A%E6%8B%9B%E8%81%98%E4%B8%80%E4%B8%AA%E9%9D%A0%E8%B0%B1%E7%9A%84iOS%E3%80%8B%E9%9D%A2%E8%AF%95%E9%A2%98%E5%8F%82%E8%80%83%E7%AD%94%E6%A1%88%EF%BC%88%E4%B8%8A%EF%BC%89.md#5-%E5%A6%82%E4%BD%95%E8%AE%A9%E8%87%AA%E5%B7%B1%E7%9A%84%E7%B1%BB%E7%94%A8-copy-%E4%BF%AE%E9%A5%B0%E7%AC%A6%E5%A6%82%E4%BD%95%E9%87%8D%E5%86%99%E5%B8%A6-copy-%E5%85%B3%E9%94%AE%E5%AD%97%E7%9A%84-setter
FDAutoLayout动态计算高度的分析切入文章
systemLayoutSizeFittingSize
http://www.ifun.cc/blog/2014/02/21/dong-tai-ji-suan-uitableviewcellgao-du-xiang-jie/
Static 详解 http://www.jcwcn.com/article-31891-1.html http://blog.csdn.net/keyeagle/article/details/6708077

LayoutIfNeed和layoutSubViews

Keychain??

缓存和网络的简单封装https://github.com/321zhangyang/SPHttpWithYYCache

iOS性能优化收录

1.SD的Autorelease pool,及时释放图像处理对象

2.FD高度缓存

3.提高OC方法调用效率 http://tech.meituan.com/DiveIntoMethodCache.html
4.下载图片的时候传scale * 指定size 获取所需宽高,避免加载大图 X8之后有个问题,cellForRowAtindexPath的时候在加载cell的时候(复用除外)控件的宽高都是1000 * 1000,要手动调用LayoutIfNeed (需要的时候布局)来获取大小

layoutSubViews是立刻布局

5.不需要触摸时间的控件用CALayer去创建,如果对象不涉及到UI操作,尽量放到后台去创建,可惜CALayer的控件只能在主线程创建,对象的复用

6.对象销毁在后台执行 这里用了Block捕获对象,在后台执行delloc这一点需要单独开blog学习Block

7.tableView runloopTracking的时候不进行imageView的set

performSelect:withObject:afterDelay:inmodes(这给个NSRunloopDefaultMode),那么滑动的时候根本不回去设置图片,也就是不卡了

8.AF中常驻线程的创建,首先单例一个线程管理类,里面先获取currentRunloop进行创建,然后runloop addPort 一个空的port进去,不然没有timer,observe和source的时候是会直接退出的,所以要放一个port开启do while 然后run 最终就会让线程跑起runloop

9.后台销毁对象

NSArray *tmp=self.array;
self.array=nil;
dispatch_async(queue,^{
[tmpclass];
});


10.监听scrollview的beginDrag的时候把operation suspend挂起,结束之后再设置为no

11.尽量图片不要用透明的 opaca = NO‘

tableView的头部和尾部当他reload的时候只会更改头部或者尾部的高度,但是内在内容是要另外刷新的,和TableView无关的,我暂时的理解 可以不需要直接reload,直接重新setTableHeaderView就可以了,要动画自己加
http://www.jianshu.com/p/5765e9dba738iOS开发必看超级详细资料库 有个aw系列必看
http://www.jianshu.com/p/d64b0abef349 三种虚线
http://blog.it985.com/14080.html CAShapeLayer画虚线
http://www.yangshebing.com/blog/2015/10/12/ioshui-zhi-xu-xian-fang-shi-zong-jie/ 第一个URL的简单版

写一个按钮的四种组合形式

雷达扫描
http://www.code4app.com/thread-10918-1-1.html
JD筛选双导航栏的思路
http://www.cnblogs.com/sixindev/p/4505870.html
多线程以及SDWebImage的一些简单面试题
https://zhangping.gitbooks.io/duo_xian_cheng-4-0/content/day04/SDWebImage%E5%B8%B8%E8%A7%81%E9%9D%A2%E8%AF%95%E9%A2%98.html
AutoreleasePool内存释放和runloop的文章http://www.jianshu.com/p/5559bc15490d

文件写入硬盘的原理http://blog.csdn.net/hguisu/article/details/7408047

GCD让我终于有点明白的文章
http://ios.jobbole.com/82622/
超全开发助手

http://www.try8.cn/

cocoapods

使用Cocoapods创建私有podspec(创建Master)
http://www.cocoachina.com/ios/20150228/11206.html
cocoaPods详解之制作篇
http://blog.csdn.net/wzzvictory/article/details/20067595
编写cocoaPods的spec文件
http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/
cocoaPods的创建和使用
http://jingyan.baidu.com/article/c33e3f488a7b24ea15cbb50c.html
cocoaPods手把手5分钟教你制作自己的podspec文件
http://iiiyu.com/2013/12/19/learning-ios-notes-thirty-one/
cocoaPods降低版本及卸载(cocoaPods出现奇怪问题的时候可以试试)
http://www.meetrue.com/archives/133
玩转Podfile(很详细的PodFile配置说明)
http://www.cnblogs.com/Mr-ios/p/5310666.html
使用 CocoaPods 管理多个 Target 的依赖
https://skyline75489.github.io/post/2015-11-26_cocoapods_multiple_target.html
podSpec配置(比较详细)
http://blog.csdn.net/cafei111/article/details/50688217
AOP 面向切片编程博客

漫谈iOS AOP编程之路
http://www.jianshu.com/p/addd4eac54ed

Method Swizzling 和 AOP 实践
http://tech.glowing.com/cn/method-swizzling-aop/

iOS 下的 AOP 编程
http://blog.csdn.net/uxyheaven/article/details/40543355

Static const extern 的干货
http://www.jianshu.com/p/2fd58ed2cf55
SDWebImage源码解析优质文章
http://www.jianshu.com/p/dabc0c6d083e

数据持久化存储 http://www.jianshu.com/p/a3eeae99e902
iOS开发之Xcode 相对路径与绝对路径 <> "" 区别 header search path的问题
点击打开链接



iOS 10 推送http://www.jianshu.com/p/c58f8322a278 国人写的
Apple的 https://forums.developer.apple.com/thread/54322 https://www.sitepoint.com/developing-push-notifications-for-ios-10/

推送证书的配置 https://leancloud.cn/docs/ios_push_cert.html
DeviceToken是否唯一?还是每次重新获取好了 http://www.mednoter.com/device-token.html
11.12 http://www.jianshu.com/p/fb180965ff76 https://www.google.com.hk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=iOS%20%E6%8E%A8%E9%80%81%E7%9A%84P12%E6%96%87%E4%BB%B6%E9%9C%80%E8%A6%81%E7%BB%99%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B9%88 http://superdanny.link/2016/02/02/iOS-Apple-Push-Notification-Service/
md5Encode

base64Encode

encodeString
RSAEncodedString

NSString + CP
BDRSACryptor

推荐一款超极好玩的

http://slither.io/



类方法里面不能调用实例变量 只能访问静态变量

那么再深入研究下静态变量

Alipay文档
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.zJH43K&treeId=59&articleId=103563&docType=1
一路走来各种开发网站陪伴

http://yulingtianxia.com/blog/2014/04/07/ioscheng-xu-yuan-bi-bei-wang-zhan/



如何打印AB,({A;B;C;})
该表达式的值就是最后一个的值 但是里面的所有的表达式都会输出一次
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSLog(@"12121212121212121212121212%@",({NSLog(@"woca ");@"b";@"C";}));
}

- (void)printfff
{
if (({NSLog(@"A");NO;})) {
NSLog(@"A");
}
else
{
NSLog(@"B");
}
}

imessage iOS 10

http://www.jianshu.com/p/8d8844f621b2



iOS10适配问题

iOS10相册相机闪退bug
http://www.jianshu.com/p/5085430b029f
iOS 10 因苹果健康导致闪退 crash
http://www.jianshu.com/p/545bd1bf5a23
麦克风、多媒体、地图、通讯录

ios10相机等崩溃
http://www.jianshu.com/p/ec15dadd38f3
iOS10 配置须知
http://www.jianshu.com/p/65f21dc5c556
iOS开发 适配iOS10以及Xcode8
http://www.jianshu.com/p/9756992a35ca
iOS 10 的适配问题
http://www.jianshu.com/p/f8151d556930


请教下,一个webview里面的内容是通过js去加载的,怎么获取加载后webview的实际高度呢?



一个类似小红书原子爆炸的动画

https://github.com/KemCake/RSDotsView



我的一个表单文章被收录在这里了!!!
http://lib.csdn.net/knowledge/1462?source=csdnnotify
超级无敌二级瀑布流菜单 国人写的
https://github.com/ChenYilong/CollectionViewClassifyMenu


学习文明的代码和思路已关注,到时候学习下
http://blog.csdn.net/wenmingzheng/article/details/50625043
融云IM

https://github.com/zhengwenming/RCIM




AF批量上传图片的三种方法

// 比较底层的三种 http://ios.jobbole.com/85437/ http://stackoverflow.com/questions/36081460/how-to-send-batch-request-by-using-afnetworking-3-0
// 普通的方法 http://www.mobile-open.com/2015/91563.html



https://github.com/tangqiaoboy/iOSBlogCN

全世界iOS开发博客精选






When
to use dequeueReusableCellWithIdentifier vs dequeueReusableCellWithIdentifier : forIndexPath区别

http://stackoverflow.com/questions/25826383/when-to-use-dequeuereusablecellwithidentifier-vs-dequeuereusablecellwithidentifi

超级第三方库集合

http://www.wahenzan.com/a/mdev/ios/2015/0413/1730.html



http://github.ibireme.com/github/list/ios/



github排名库

https://github.com/search?l=Objective-C&o=desc&q=stars%3A%3E1&s=stars&type=Repositories



Brew和ruby cocoapods的学习

Const和define的区别

http://blog.csdn.net/love_gaohz/article/details/7567856



iOS数据存储安全问题

http://www.jianshu.com/p/df96557ac376



Runtime学习

http://www.jianshu.com/p/3e050ec3b759



博客demo需要用的

http://www.cnblogs.com/Mike-zh/p/4557014.html



AVPlayer的学习

http://www.jianshu.com/p/5016b72c52bd



http://www.cnblogs.com/mzds/p/3711867.html



http://ivanyuan.farbox.com/post/shi-pin-bo-fang-de-na-xie-keng?action=show_raw








UIViewController 所有API

http://www.myexception.cn/mobile/1939219.html


单利的创建

http://www.jianshu.com/p/e9f2b524bb04


iOS的文档

https://developer.apple.com/library/ios/navigation/


大神的博客(cocoapods的管理和分析)

http://kittenyang.com/myfirstblog/






如何增加代码的健壮性

For this example, a custom protocol is necessary to inform the layout’s spacing between certain items. If the attributes of specific items
require extra information from the data source, it’s best to implement a protocol for
a custom layout rather than to initiate a direct connection to the data source. Your resulting layout is more robust and reusable

代理能提高健壮性和复用性
还有一点就是NSArray和NSdictionary的空指针以及越界




UICollectionViewLayoutAttributes

https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/AWorkedExample/AWorkedExample.html




搬瓦工购买后的用途

https://blog.phpgao.com/post_buy_faq.html




SDWebImage的封装Fade以及传URL加参数筛选图片大小,避免过大 这也算是一种优化




Autolayout获取对应的大小 之前是用sizeWithFont 7.0,现在用systemLayoutSizeFittingSize获取对应的大小,以下就是需要注意的点
特别是需要注意
preferredMaxLayoutWidth这个方法才能计算intrinsicContentSize的实际大小

https://blog.cnbluebox.com/blog/2015/02/02/autolayout2/




一组tableView的映客动画加载图片

http://www.cocoachina.com/ios/20160725/17172.html


一组横向滚动的效果图5块钱哦

http://www.code4app.com/thread-8191-1-1.html




UITableView的优化

http://blog.csdn.net/leikezhu1981/article/details/28494841




大神搭的服务器网站 以及果冻动画PageController

http://kittenyang.com/myfirstblog/

KYAnimatedPageControl




UINavigationBar的颜色alpha调整

http://tech.glowing.com/cn/change-uinavigationbar-backgroundcolor-dynamically/






iOS数据存储 NSUserDefaults的使用

http://www.jianshu.com/p/4b118ebb656f






DZNEmptyDataSet的自定义点击事件实现


Cancel
previous request of AFHTTPSessionManager

http://stackoverflow.com/questions/30286188/cancel-previous-request-of-afhttpsessionmanager

Alert
http://www.jianshu.com/p/1c052c761a15
富文本
http://www.cnblogs.com/goodboy-heyang/p/5143135.html http://www.jianshu.com/p/8f49c9c99b21 http://cnbin.github.io/blog/2015/11/03/uilabel,wen-zi-tian-jia-xia-hua-xian-,zhong-hua-xian/ http://www.jianshu.com/p/acf27581978c
GCD怎么才能知道状态以及通知所有完成状态
http://stackoverflow.com/questions/1550658/dispatch-queues-how-to-tell-if-theyre-running-and-how-to-stop-them
UISearDisplayController UISearchBar 以及UISearchController

1.https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISearchDisplayController_Class/index.html

2.https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISearchController/index.html#//apple_ref/occ/cl/UISearchController

3.http://blog.csdn.net/zfx5130/article/details/43371403

4.http://blog.csdn.net/hmt20130412/article/details/21370223

5.uicollectionView不掉cellforrowatindexpath http://stackoverflow.com/questions/14668781/uicollectionviews-cellforitematindexpath-is-not-being-called http://petersteinberger.com/blog/2013/fixing-uisearchdisplaycontroller-on-ios-7/ 调整高度和内部空间frame

核心动画高级模式
https://zsisme.gitbooks.io/ios-/content/chapter12/instruments.html
Mac终端指令大全
http://www.weiosx.com/show-12-142-1.html
PX DP PPI的简单介绍
http://blog.sina.com.cn/s/blog_4b93170a0102dr1p.html http://www.jianshu.com/p/c3387bcc4f6e http://www.objc.io/ http://www.raywenderlich.com http://iosdevelopertips.com/ http://iosdevweekly.com/ http://nshipster.com/ http://ciechanowski.me
国外博客汇总,到时和唐巧的加在一起写一个博客

购买课程链接

ios时光电影项目8天全套课程74课时

这个教程比较适合新手容易上手

下载地址:http://dwz.cn/2rLzzl

cocos2d-x教程下载:http://dwz.cn/zc00t

ecshop开发教程下载:http://dwz.cn/zc0tG

ios新浪微博项目开发教程下载: http://dwz.cn/zc0br
html5教程下载:http://dwz.cn/3rI8d9

c++教程下载:http://dwz.cn/30OKcR

Delphi教程下载:http://dwz.cn/30OLkL

widows api开发教程下载:http://dwz.cn/30OMWi

Windows phone8教程下载:http://dwz.cn/30OOOj

老婆送的HHKB,第一次用那么好的键盘,我感觉这个键盘最舒服的地方就是敲击的感觉,虽然我不是专业的,但是这手感不是一般机械键盘能比的,我感觉机械键盘玩起来有点硬,还有就是他能直接放在Mac上面,正好盖住笔记本的键盘,这你妹的让你爽到不能呼吸啊

拿到手的感觉就是小巧,适合咱们的Mac,所以咱们只介绍Mac的快捷按键和接入方式

1.后边有六个开关,打开2和3,就是Mac的标配了

2.你需要在官网上下载HHKB激活的安装包,下载安装完后重启电脑即可,记得USB也要重新拔出再连上

3.首先它没有其他键盘锁定大小写的按键,咱们还是用Shitf + 字母组合来进行大小写切换吧

4.而且他没有上下左右四个按键,咱要用Fn + [ / ; '来进行上下左右的操作

超级常用快捷键

Control + A 移到行首

Control + E 移到行末

Control + F 向右单字符移动

Control + B 向左单字符移动

Control + H 向左正常删除一个

Control + D 向右删除一个

Control + P 移到上一行

Control + N 移到下一行

Fn + F11 屏幕收起显示主屏幕

Control + K 删除到行尾(从光标处开始删除到末尾)

Control + i 代码对其

Command + ?注释

Command + T 在xcode界面增加tab栏,例如在本页面操作,那么上面会出现两个本页面,类似于网页

Command + C 复制

Command + V 粘贴

Command + Q 退出

草榴(1024)最新地址,开放注册时间有限,地址:http://192.161.86.13/?id=eternalsun
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息