Background fetch

如下是iOS7开始支持的background fetch在下载管理中的应用。

1.Target -> Capabilities -> Background Modes,打开开关,勾选Background fetch一项。
2.在负责下载管理的CDDownloadManager,或是AppDelegate中,添加@property (nonatomic, copy) void (^savedCompletionHandler)();属性,用于临时存储application:handleEventsForBackgroundURLSession:completionHandler:传入的block(详细说明见后文)。
3.在AppDelegate.m中添加如下方法:

1
2
3
4
5
6
- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler
{
NSLog(@"%s",__FUNCTION__);
[CDDownloadManager sharedManager].savedCompletionHandler = completionHandler;
}

阅读全文

Block学习笔记

1.Block声明

编译器和运行时让block中引用的所有变量都被保存下来,以备在block的所有副本的生命周期中使用。

1
2
3
4
5
6
7
- (void)block1
{
int (^myTest)(int) = ^(int num){
return num * num;
};
NSLog(@"double: %d",myTest(9));
}

阅读全文

写在2017年初

在本地的Homebrew被我搞挂掉之后,博客休眠了两个多月。本地的草稿箱一直增加,online的内容一直没变化。实在不能忍了。

终于在2017年的第十天被我修理好了。继续第三年的blog之旅。

但求把知识变成能力;
但求把枯涩的知识变成丰盈的语言;
但求我心依旧。

阅读全文

浅析自定义UINavigationBar返回按钮(一)

这里主要有两个关键点:一是把原有的上一层的title去掉,二是把返回按钮的indicator图片换成自定义的。

阅读全文

如何更新Mac中自带的Vim

前几天翻卖桃君的公众号,温故了一下Vim 8.0的种种我目前也用不上的特性,竟是兴奋了一会儿,接着就开始考虑怎么把本机的Vim升级成8.0了。

根据SOF上的一个回答,步骤如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ # Create the directories you need
$ sudo mkdir -p /opt/local/bin
$ # Download, compile, and install the latest Vim
$ cd ~
$ hg clone https://bitbucket.org/vim-mirror/vim or git clone https://github.com/vim/vim.git
$
$ cd vim
$ ./configure --prefix=/opt/local
$ make
$ sudo make install
$ # Add the binary to your path, ahead of /usr/bin
$ echo 'PATH=/opt/local/bin:$PATH' >> ~/.bash_profile
$ # Reload bash_profile so the changes take effect in this window
$ source ~/.bash_profile

阅读全文

【译】Workspace & Project & Target & Scheme 的区别

来自James Webster的回答:

阅读全文

某HR项目iOS端总结

1.产品设计

  • 及时更新RP图。
  • 对于iOS和Android差异化不大的页面,可以使用一套RP图。
  • 保证对页面逻辑的详细说明。

阅读全文

实用svn命令

1.Check all the changed files:

1
$ svn st

阅读全文

Set deployment target for CocoaPods’ pod in batches

When I tried to pod update an old project, it changed all the pods’ deployment target to 8.0. I’ve been tired up with changing it all the time and finally found this solution.

阅读全文