- 博客(36)
- 资源 (2)
- 收藏
- 关注

原创 本博客内容说明
在CSDN上写过一段时间的博客,直到前段时间接触到了git和github,便在github上搭建了一个个人博客,并逐渐喜欢上了使用git+jekyll的博客写作方式。但毕竟CSDN上的人气高,所以以后的文章会首先发布到github,同时在这里也会发公布一下,但只是简介,具体内容需要还是要去个人博客上看。个人博客地址:http://webfrogs.me/
2012-12-18 14:59:12
1123

原创 飞鸽协议分析之上下线报文分析之二
上一篇的飞鸽协议上下线报文分析,写的比较乱,并且其中有些分析还是有点出入。最近我又针对飞鸽协议做了详细的抓包分析,特此这一篇中对上下线报文做一个总结,其中也讲解了发送消息的一些内容。有关聊天报文和文件传输报文,以后我会在分析的比较透彻以后写出技术分析文章。这里纠正上一篇中的一个错误,就是针对飞秋报文和飞鸽报文差异的那部分,经过我的分析后,发现飞秋的报文和飞鸽的报文基本上是一致的,飞秋的定制信息
2012-03-02 14:12:51
3167
1

原创 飞鸽协议分析之上下线报文分析
最近在研究飞鸽协议。飞鸽的上下线的原理很简单,就是,当第一次上线时,会在局域网内广播一条消息,所有在线的飞鸽用户在收到广播的上线消息后,都要回复一条消息,这样,就完成了新上线用户和已上线用户的用户列表的更新,也就是都有了相互的信息。而下线时,则广播一条下线消息,接收方在收到后,将相应的用户从用户列表中删除。 由于飞鸽版本众多,比如飞秋,同是飞秋团队所写的飞鸽传书等等,经过分析发现,具体
2012-02-13 14:05:41
5556
原创 IOS工程自动打包并发布脚本实现
文章首发地址:http://webfrogs.me/2013/02/18/ios-automation/作者:webfrogs转载请注明出处。前言IOS的开发过程中,当需要给测试人员发布测试包的时候,直接使用xcode来做的效率是非常低下的。尤其是当有一点小改动需要重新出包时,那简直是个折磨的人的工作。通过一番研究后,遂决定写一系列脚本,以代替人工完
2013-02-18 17:35:26
31988
13
原创 IOS开发之自定义系统弹出键盘上方的view
博文首发地址: http://webfrogs.me/2013/01/09/ios-keyboard-custom-upperview/这篇文章解决的一个开发中的实际问题就是:当弹出键盘时,自定义键盘上方的view。目前就我的经验来看,有两种解决方法。一个就是利用UITextField或者UITextView的inputAccessoryView属性,另一种,就是监听键盘弹出的
2013-01-10 09:30:54
4933
原创 IOS开发之ZBarReaderView的使用
博文首发地址:http://webfrogs.github.com/2012/12/26/iphone-use-zbar/简介当开发IOS程序中需要用到二维码识别功能的时候,zbar这个开源库估计会被不少人选择。但是关于zbar的用法,网上的资料大部分都集中在ZBarReaderViewController这个类的使用上。本人在使用中,发现ZBarReaderViewControl
2012-12-26 18:08:46
3978
原创 使用jekyll来写博客的一些心得
总结一下最近使用jekyll+github+markdown写作的心得。见博文:http://webfrogs.github.com/2012/12/20/use-jekyll/
2012-12-20 22:51:10
3205
原创 ios静态库制作中的注意事项
文章首发地址: http://webfrogs.github.com/2012/12/18/ios-static-lib/简介:在开发过程中,经常会碰到一些在不同工程中经常用到的部分,把这些部分抽取出来做成一个静态库往往是一个比较好的做法。xcode里就有制作静态库的模板,相关的制作步骤网上也有很多,但在实际的操作中,还是有不少细节方面需要注意。以下是我碰到的一些问题总结。
2012-12-18 14:52:01
1809
1
原创 IOS引用的静态库里包含category文件出现“unrecognized selector”的解决办法
参见apple文档:http://developer.apple.com/library/mac/#qa/qa1490/_index.html其中注意:不止要在静态库的工程里使用 -all_load编译选项,使用库的工程也需要这个选项。
2012-12-10 17:37:30
2624
1
原创 将ubuntu下gnome3的shell窗口的关闭按钮改为左侧
首先安装dconf-tools,命令: sudo apt-get install dconf-tools然后依次选择 org → gnome → shell → overrides → button layout将其内容改为:close,minimize,maximize:
2012-12-08 22:52:29
3576
原创 IOS中UIWebView和JavaScript交互
本文主要介绍IOS中UIWebview与JS之间的交互过程。博客地址:http://webfrogs.github.com/IOS/2012/11/02/webviewandjs/
2012-11-05 09:37:52
1561
原创 shell脚本实现ipa一键安装(itms-services协议)
文章地址: http://webfrogs.github.com/2012/09/27/ipapublsh/通过itms-services协议,可以通过safari浏览器直接在IOS设备上安装应用程序。具体效果可以看图。 文章具体请看上面链接。
2012-09-27 17:26:08
10838
1
原创 xcode自动打ipa包脚本
文章首发地址:http://webfrogs.github.com/IOS/2012/09/19/buildipa/前言使用xcode进行IOS开发的时候,很多时候我们需要将工程打包成ipa文件,而xcode本身并没有这些功能。但是通过安装xcode的“Command Line Tools”这个工具,我们可以使用xcodebuild这个命令来对工程进行打包。然而
2012-09-20 10:32:07
14063
转载 iPhone开发之深入浅出 — ARC之对象转型
尊重作者,原帖地址:点击打开链接根据苹果官方的文档(https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html):__bridge只做类型转换,但是不修改对象(内存)管理权;__bridg
2012-08-14 09:58:33
1102
原创 IOS开发问题解决之Xcode修改项目名称后,无法选择run的设备
问题描述 有时在项目中需要修改项目名称,但可能会出现需要run工程时,却没有了模拟器和设备的选项。解决方法 选择 Product--->Edit Scheme,在打开的框中,找到对应的工程。点击左下方的“Manage Schemes”,点击打开的对话框右上角的“Autocreate Schemes Now”按钮后,会生成一个新的行,删除原来的行,然后选中新的行,点击“OK”
2012-07-20 15:29:43
6923
原创 IOS开发问题解决之Xcode运行程序时attaching to挂起不动
问题描述 Xcode运行程序时,有时会出现程序build成功,但是程序中显示:attaching to xxx...,然后挂起不动。解决方法 如果重启Xcode和模拟器后都不成功。而且attaching to 后面跟的名字与模拟器里生成的文件名字不同,那就按一下步骤解决:点击左侧的项目,然后选择build Setting。找到Packaging一栏,里面有一个选项
2012-07-12 12:33:32
7881
原创 IOS开发之常用系统函数收集
字符串相关 NSString 的函数 sizeWithFont:constrainedToSize:lineBreakMode: API文档解释:若字符串以规定的约束条件进行描绘,则返回实际的大小。 用途:返回以指定字体进行描绘时,字符串所占据的实际大小。 举例: UIFo
2012-07-04 15:48:14
2140
原创 IOS开发之将以NSDictoray组织的NSArray中以其中的NSDate大小来排序
直接来段代码:// 按日期排序 NSArray *sortedArray = [array sortedArrayUsingComparator:^(id obj1, id obj2){ NSDate *date1 = [obj1 objectForKey:RecordDateKey]; NSDate *date2 = [obj2 objec
2012-07-04 15:38:59
3899
原创 IOS开发博客收集
技术博客个人博客: http://my.oschina.net/plumsoft/blog?catalog=145903&p=1ASIHTTPRequest详解:点击这里CATransform3DMakeRotation旋转,翻转:点击这里日期处理:点击这里问题解决XCODE语法高亮消失解决办法:点击这里
2012-06-25 15:48:49
1142
原创 IOS开发之所有类型的UIKeyboardType图片展示
在使用UITextField的时候,我们经常会有需求来控制打开的键盘的类型,虽然文档里都有相应类型的说明,但都不够直观。现在,把所有的UIKeyboardType来以图片展示下。可以直观的来选择所需的键盘种类。UIKeyboardTypeAlphabet
2012-06-17 10:50:15
12067
原创 IOS开发之触摸背景关闭键盘的代码实现
直接上代码:// 触摸背景,关闭键盘- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject]; UIView *view = (UIView *)[touch view]; if (view == self.view)
2012-06-15 10:54:43
5359
原创 Mac os x下git merge工具P4Merge的安装与配置
下载安装 我们使用P4Merge,这个工具,非常好用,而且是免费的工具。P4Merge这个工具可以在所有的主流平台上运行。 下载P4Merge,请点击这里 。打开链接以后,找到名字为P4V的下载区域,选择Macintosh-Mac OS X for x86_64,点击打开的“Accept and Download”下载按钮进行下载。 下载完后安装,只需
2012-06-14 09:22:05
12830
原创 IOS开发问题解决之限制UITextField输入特定位数小数时,Done按钮失效
问题描述 要求是限制UITextField只能输入一位小数。我的方法是重写delegate的textField:shouldChangeCharactersInRange:replacementString:函数。自己写的代码如下:-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NS
2012-06-11 11:12:39
3457
原创 IOS开发问题解决之UIAlertView调用UIActionSheet后灰色背景一直存在
问题描述今天开发IOS时碰到了一个问题,就是在UIAlertView的delegate方法里初始化一个UIActionSheet,并显示后,在选择了按钮的操作以后,会有灰色背景一直存在,挡住了整个页面,使得页面无法交互。解决方法在alertView:clickedButtonAtIndex:这个委托方法里,使用下面代码调用显示UIActionSheet:[self perfor
2012-06-07 16:39:51
3288
原创 IOS开发之自定义UIActionSheet
IOS开发中,经常会用到UIActionSheet,但是,默认的只能添加按钮。如果能自定义的话,岂不是更好?上网搜了一下,都是只有那一种代码,通过设置几个按钮来增加UIActionSheet的高度,不是很准确。今天研究了一下,然后做了一个可以自定义高度和控件的通用UIActionSheet,拿出来共享一下。自定义UIActionSheet的思路就是写一个继承了UIActionSheet的类,然
2012-06-01 20:35:41
11782
6
原创 Windows环境下msysgit下安装gitflow步骤。
之前发表了一篇关于Windows环境下搭建git服务器的博文,下面开始讲解一下Windows环境下安装gitflow的步骤。参考文档,来自github的gitflow的wiki,链接:https://github.com/nvie/gitflow/wiki/Windows 这里只介绍msysgit环境下的gitflow安装。首先需要下载两个文件:getopt.exe和libintl3.d
2012-05-26 00:00:05
10079
原创 IOS中UIScrollView的contentSize、contentOffset和contentInset属性
IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView。跟所有的view一样,UIScrollView有一个frame属性,同时,UIScrollView还具有contentSize、contentOffset和contentInset属性。我在学习中,就觉得其中contentSize和contentOffset相对比较好理解,
2012-05-23 16:48:51
72532
原创 关于git的博文收集
本文记录一些关于git的好的博文链接,以供查阅。git-简易指南 http://rogerdudler.GitHub.com/git-guide/index.zh.html 关于git的入门教程,浅显易懂。如何高效利用github http://www.yangzhiping.com/tech/github.html 介绍github的文章,写的很好。
2012-05-23 09:26:35
2439
原创 Windows下搭建基于ssh的git服务器
最近接触到了git,感觉到了它的强大和方便,git在linux环境下使用起来是非常方便,但如何在windows下搭建一个基于ssh的git服务器呢?闲话不多说,开始。本文系本人原创,若要转载,请注明文章出处。http://blog.csdn.net/ccf07031、所需的软件下载及安装所需工具下载地址:msysgit http://code.google.com/p
2012-05-19 15:52:47
74889
1
原创 解决安卓4.0获取本地IP地址问题。
最近写的程序需要获取本地IP地址,于是上网搜了下,找到了一段代码。如下:public String getLocalIpAddress() { try { for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { Netw
2012-04-11 21:27:34
9615
2
转载 android sqlite3 adb命令学习
创建数据库在cmd下面调用sqlite3.exe,创建数据命令如下:sqlite3 db_name.xx;数据库名称任意,创建后直接进入数据库;如果文件存在,则直接打开;SQL的指令格式所有的SQL的指令都是以分号(;)结尾的,为增加可读性,允许一个指令多行编辑,直到遇到分号结束指令;sqlite3中两个减号(--)代表注释,sqlite会忽略。创建表键入以
2012-02-02 13:10:17
1444
原创 Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE解决
刚开始学习android,今天测试SDK里带的例子JetBoy时,出现了个错误Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE上网搜了下,原来是虚拟机内存不够,在eclipse里解决方法如下:在 run configurations的target标签里最下面,加上参数-partition-size 256如图然后
2011-11-14 20:41:32
2502
原创 C++临时量
<br /> 编译程序在编译代码时,在求表达式值期间,编译器有时必须创建临时对象(tempeoary object)。和其他别的对象一样,他们需要存储空间,并且必须能够构造和销毁。但是由于这些工作是有编译器自动为我们完成,我们看不到它们——编译器负责决定它们的去留以及它们存在的细节。但是临时量有这样一种情况:它们自动地成为常量。在一般情况下,我们是接触不到临时对象的,而试图改变临时量是错误的,因为这么信息是不可得的。注意:编译器使所有的临时量自动地成为const。下面通过代码来分析。<br />
2010-11-28 10:16:00
1418
原创 C++常量
<br /> 在C语言中,常量一般是通过预处理器建立宏来进行文本替代的。如下面代码:<br /><br /><br />#define BUFSIZE 100<br /><br /><br /><br /> 这中间没有类型检查功能,而且替代是发生在编译阶段,编译器通过把程序里的所有BUFSIZE来用100替代,并且在这期间,它不占用存储空间。在C++中,完全可以用const取代#define。<br /> C++中const默认为内部连接,意思是const仅在const被定义的文件里才是可
2010-11-26 14:39:00
920
原创 delete 和delete []的区别
<br /> 今天看到动态内存分配时对delete和delete[]产生了疑惑,通过一个程序分析下他们的区别。<br /> <br />#include <iostream>using namespace std;class T {public: T() { cout << "constructor" << endl; } ~T() { cout << "destructor" << endl; }};int main(){ const int NUM = 3;
2010-11-25 18:52:00
1014
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人