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

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

  1. 打开网络流的话,前面要加上函数avformat_network_init()。
  2. AVFormatContext:统领全局的基本结构体。主要用于处理封装格式(FLV/MKV/RMVB等)。AVFormatContext初始化方法avformat_alloc_context()
  3. 打开输入流,四个参数分别是ps:AVFormatContext对象的地址,filename:输入流的文件名,fmt:如果非空,这个参数强制一个特定的输入格式。否则自动适应格式。int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);
  4. 读取数据包获取流媒体文件的信息,每个AVStream存储一个视频/音频流的相关数据;每个AVStream对应一个AVCodecContext,存储该视频/音频流使用解码方式的相关数据。int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options);
  5. 找到合适的解码器,
  6. AVCodecContext *codecCtx = _formatCtx->streams[videoStream]->codec;AVCodec *codec = avcodec_find_decoder(codecCtx->codec_id);
  7. 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的操作做铺垫。

  1. 从 AVFormatContext读取下一个AVPacket。int av_read_frame (AVFormatContext *sAVPacket *pkt)
  2. 解码从AVPacket *avpkt转化为AVFrame *picture。。int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr,  const AVPacket *avpkt);   
  3. 帧速控制attribute_deprecated int avpicture_deinterlace (AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)      
  4. 返回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

0  ------- token1  token2   token3  -----6s

0  ------- token1  token2   token3  ----- 7

81545 ---- token ------ 6s

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


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




以下三个作为进阶

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值