使用Eclipse或Google的ADT Bundle集成开发环境进行android单体测试时,受开发工具的局限,目前暂时无法直接使用常规的插件(例如:eclemma,Clover Eclipse Plugin等)来获取单体测试代码覆盖率。一般来说使用以下方法来实现代码覆盖率的查看。
方法1:改变测试代码继承父类为TestCase而非AndroidTestCase。这种方法只能解决不依赖于Android SDK源代码的单体测试。
方法2:使用Android SDK中集成的Emma功能,使用ant进行命令行编译与单体测试。通过以下脚本实现。
这里假设Eclipse的项目名称为MyProject,文件路径如下
./ #项目主目录
./src #APP项目主目录
./test #APP测试项目主目录
Read more…
iOS SDK支持64bit后,大部分代码可以直接无缝转换并通过编译,但是这些代码在运行时可能会有所差异,所以开发时需要特别注意,Cocoa-Charts在开发过程中就发现了这类问题。
问题现象:
CoreGraph绘图方法与NSString的drawInRect方法在64Bit下存在着冲突,64Bit下调用drawInRect之后会导致CGContext中的path被清空从而使CGContextStrokePath不进行任何绘图操作,而32Bit下没有任何问题。
Read more…
iPhone版本APP开发完成后需要再开发iPad版本的APP,需要把iPhone版本的xib文件添加到iPad项目中去,但是Xcode中iPhone和iPad使用的xib格式不能完全互换,此时需要转换xib的文件内容。
分析iPad和iPhone的xib文件,可知两者之间的区别,直接使用source方式打开xib文件,检索替换并保存即可。
以下是iPad和iPhone的xib文件之间的区别,请注意区分xib的文件版本。
Read more…
AirDrop是iOS7中新增的一个近距离分享功能,两个相邻的iOS设备可以通过AirDrop实现传递图片、文件等功能,有了AirDrop基本上可抛弃类似Dropbox的ShareLink和PublicFolder功能。
iOS7的SDK中已经在UIActivityViewController中内置了AirDrop功能,使用时与分享到twitter和facebook的方式基本一致,只需要将需要传递的文件URL设置给UIActivityViewController对象的ActivityItems对象即可,区别在于:如果传递文件,那么URL应该是“file://”开头,而不是常见的“http://”开头
Read more…
为了使Cocoa-Charts支持客户端数据计算,需要为Cocoa-Charts增加技术分析数据计算功能,目前比较通用的是TA-lib,但是TA-lib没有提供iOS版本的静态库文件,因此需要在X86平台上交叉编译适用于iPhone模拟器和iPhone真机的TA-lib静态库,用于调试和开发iOS应用程序,使TA-lib支持ARMv7 ARMv7s i386等系统架构的多种iPhone机型或模拟器。
Read more…
Xcode5已经完全抛弃了GCC并切换到LLVM,但并不是完全去除GCC,只是对GCC等编译相关执行文件的位置进行了调整,
如果之前使用的是使用Makefile方式命令行编译iOS APP的话,Xcode4.6下编写的脚本可能会无效,需要对GCC的执行文件路径进行调整。
调整内容如下
Xcode4.6之前:
/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/usr/bin
Xcode5.0:
/Applications/Xcode.app/Contents/Developer/usr/bin
Read more…
一个奇怪的需求,一个html页面A内的正中需要使用iframe打开另一个页面B,B页面的内容可长可短,要求用来显示B页面内容的iframe根据B页面的实际显示高度自适应调整高度。同时不能在修改A页面的代码。
解决方法,使用iframe可以直接使用parent.parent.document控制父页面的document内容,但是需要注意进行自适应调整的时间,需要在B页面全部加载完成后才可以。
Read more…
Recent Comments