tzjut

导航

2015年4月21日 #

IOS上解决内存越界访问问题

摘要: IOS经常会混合使用C代码,而在C中,对内存的读写是很频繁的操作。其中,内存越界读写 unsigned char* p =(unsigned char*)malloc(10); unsigned char c = *(p+100) ; free(p);是一种很容易犯的错误,在大部... 阅读全文

posted @ 2015-04-21 20:48 tzjut 阅读(876) 评论(0) 推荐(0)

2014年10月21日 #

[IOS8兼容性]IOS8上收不到通知

摘要: 应用中用到了通知功能,同时有远程通知和本地通知。测试报告应用在iphone6 plus上,收不到本地通知。因为所有的第三方闹钟应用采用的都是本地通知方式,所以第一时间随机下载了5款不同的闹钟应用。所有的应用都同样无法正常工作。当时已是深夜,QA这关算是暂时交待过去了。等到递交结束后,这个问题总归得解... 阅读全文

posted @ 2014-10-21 14:51 tzjut 阅读(327) 评论(0) 推荐(0)

2013年12月12日 #

WP8应用上传失败查错

摘要: 开发的一个应用,好久没有更新。最近做了些修改,在设备上安装测试,没什么 问题,上传到STORE,收到反馈说有两个操作必挂。知道了直接设备安装测试和从STORE上下载,会有些不同。http://support.microsoft.com/kb/2859130/en-us直接查代码无法确定是哪里的问题,老老实实,按照微软的建议,做beta release测试吧。在dev center上创建一个beta应用,上传包,下载到测试机,果然必挂。在认为有风险的地方做些修改,更新,下载,还是挂。在这里浪费了些时间,后来才注意到下载的还是最初的版 本,改动提交到系统 ,并没有及时更新替换旧包。经验教训:不应该 阅读全文

posted @ 2013-12-12 19:36 tzjut 阅读(315) 评论(1) 推荐(2)

2013年8月17日 #

使用dispatch_semaphore_t实现event的基本功能

摘要: 在Windows平台下, 对线程的同步控制,可以有Critical Section,Mutex,Semaphore,Event 等方式.在IOS平台,使用GCD进行简单的多线程编程时,可以使用dispatch_semaphore_t进行相应的同步操作.IOS平台上没有对应的Event这个控制对像. 对于一些适合Event模式的情况下,可以通过dispatch_semaphore_t模拟event(autoReset)的特性.set:-(void)set{ dispatch_semaphore_wait(_semaphore, DISPATCH_TIME_NOW); dispat... 阅读全文

posted @ 2013-08-17 16:22 tzjut 阅读(767) 评论(0) 推荐(0)

2013年7月25日 #

用友盟提供的服务来做用户反馈功能和版本检测功能

摘要: 对于个人开发者, 或者小团队, 可能没有能力做后台服务.而用户反馈和新版本检测, 则是现在应用的一个标配.友盟在这方面提供的服务很好很强大.1 新版本检测:在安装友盟的SDK后, 根据它的文档进行操作.有两点需要注意: 1.1 设置自动更新信息是在 我的应用->组件->自动更新 下进行操作. 1.2 更新日志只支持一种语言. 如果需要多语言显示更新日志, 只能通过其他渠道. 1.3 从代码中拿到的更新日志信息,是经过url encoder, 需要进行相应的decoder.2 用户反馈:友盟的用户反馈功能, 强大之处在于它可以双向. 即用户发送了反馈后, 开发者可以通过后台直接进行回 阅读全文

posted @ 2013-07-25 15:55 tzjut 阅读(259) 评论(0) 推荐(0)

2013年7月23日 #

在skyDriver上保存代码

摘要: 在家里写的代码, 有时候在公司也想打开改一改.以前, 我都是使用优盘进行拷贝, 或者直接在优盘上进行操作.有时, 忘了带优盘就傻眼了.也想过直接托管到代码托管网站. 但主流的一些托管,都是要开源的. 对于一些项目并不合适.最后, 使用了skyDriver来做为中间介质. 在机器上安装一个sky driver的mac版客户端, 就可以简单地当做普通目录进行使用.使用时有几点要注意:1:临时文件等不要放到此目录下, 以免有多东西需要与服务端进行同步. 在xcode4.6以上, 默认配置已经做到了这点2:网络要给力, 善后不要急. 我有几次在家里使用MBP编码, 写完调试通过后,把盖子一合. 第二天 阅读全文

posted @ 2013-07-23 08:53 tzjut 阅读(193) 评论(0) 推荐(0)

2013年7月19日 #

微信在IOS7下无法分享图片

摘要: 家里老大的iphone5在WWDC后第一时间升级了IOS7.整体的UI风格和功能都很喜欢, 偶尔的crash还能接受.但是最常用的软件之一微信,在IOS7下无法分享图片这点一直让她耿耿于怀.从用户角度看,我认为是微信在选择图片时,hake了UIImagePickController, 而IOS7上对这个controller的view进行了更新,导致旧的hake方法失效了.昨天做了个微信分享的UIActivity,所以我信心满满地对老大说,我来帮你做一个简单的应用, 使用粗糙的UI, 选择一张图片, 通过微信API 跳转到微信,进行分享,几分钟的事情.但是结果却很让人失望. 使用第3方应用的方式 阅读全文

posted @ 2013-07-19 08:41 tzjut 阅读(553) 评论(0) 推荐(0)

2013年7月18日 #

使用subclass UIActivity的方案来分享图片

摘要: IOS6开始, 系统提供了UIActivityViewController, 对图片,文字,url进行相关的操作. 对于缺乏UI设计师的开发来说, 使用它进行轻量级的分享是很好的选择.最大的缺点是自定义的分享服务,图标都是灰色的.使用微信进行分享的例子:1 定义WeiXinActivity类.@interface WeiXinActivity:UIActivity{ UIImage* _imageForShare; NSString* _messageForShare;}@endconst NSString* WeiXinActivityType = @"WeiXinActivit. 阅读全文

posted @ 2013-07-18 18:10 tzjut 阅读(763) 评论(0) 推荐(0)

2013年7月15日 #

周末被一个BUG折腾的欲仙欲死

摘要: 有一个应用场景:从网上得到大量的文字信息,保存到本地。因为不停地获取文章,导致本地存储很快就变大。所以想到了简单地压缩。网上找了一段压缩的代码:+(NSData*)zipContent:(NSString*)strContent{ NSData* zippedData = nil; NSData* unzipData =[strContent dataUsingEncoding:NSUTF8StringEncoding]; int nSize =[unzipData length]; Bytef buffer[nSize]; Bytef zipbuffer[n... 阅读全文

posted @ 2013-07-15 08:44 tzjut 阅读(430) 评论(0) 推荐(0)

2013年6月21日 #

UIScrollView在AutoLayout下的滚动问题

摘要: 使用Storyboard编写UI,设置支持AutoLayout.在其中的一个场景上,添加一个UIScrollView,在对应的代码里增加- (void)viewDidLoad{ [super viewDidLoad]; self.scrollView.contentSize = CGSizeMake(445, 60);}调试,发现内容能显示,但是无法滚动。经过网上搜索,发现是AutoLayout导致的问题。在支持AutoLayout后,系统会在ViewDidLoad之后,重新计算控件的一些值,导致上面设置的contentSize被重置为(0,0)了。解决方案很简单:把上面的设置代码... 阅读全文

posted @ 2013-06-21 11:30 tzjut 阅读(2098) 评论(1) 推荐(0)