
移动ANDROID研发 IOS研发
Kaitiren
热情开放的技术专家,从事游戏开发方面的各项工作!
DXDStudio(Design and Xperience Development Studio)
展开
-
Android App 压力测试方法(Monkey)
一.为什么要开展压力测试a.提高产品的稳定性;b.提高产品的留存率二.什么时候开展压力测试a.首轮功能测试通过后;b.下班后的夜间进行三.7个基础知识(理论部分)3.1 手动测试场景与自动测试场景3.2 Monkey测试工具介绍Monkey是发送伪随机用户事件的工具;Monkey在手机系统里;Monkey需要借助ADB使用;3.3 MonkeyScript测试命令集合介绍3.4 异常测试结果分析四.6个实践小案例4.1 一...原创 2020-05-13 00:12:31 · 984 阅读 · 0 评论 -
macOS安装了新版JDK后,安装jdk1.6提示已经安装了更高的版本
###问题描述因为分析代码需要,需要使用jdk1.6 ,安装时,macOS在安装了jdk8 jdk13等高版本jdk后,系统提示,无法安装,原因是“您机器上已经安装了更高的版本”###解决方法方式一暴力的卸载新jdk,之后正序安装方式二研究了一下,mac安装包结构,发现判断点是个脚本。修改即可比如我本地安装包: JavaForOSX.dmg1.挂载安装文件 ...原创 2020-03-21 12:53:18 · 3821 阅读 · 0 评论 -
COCOS2DX 3.0 优化提升渲染速度 Auto-batching
COCOS2DX 3.0 优化提升渲染速度 Auto-batching最近在看COCOS2DX 3.0的Auto-batching合批与Auto Culling动态缩减功能下面就来仔细看看吧:整合好的渲染提速干货:简介在游戏的绘制渲染中,往往消耗很多资源和内存,当绘制精灵数量越多,游戏的卡顿会很明显,为了优化和提升渲染效率。Cocos2d-x为我们提供了Auto-bat原创 2014-06-13 13:25:31 · 11706 阅读 · 1 评论 -
iOS工程如何支持64-bit
苹果在2014年10月20号发布了一条消息:从明年的二月一号开始,提交到App Store的应用必须支持64-bit。详细消息地址为:https://developer.apple.com/news/?id=10202014a那们我们应该如何开始着手让自己的App支持64-Bit呢?基本知识从iPhone 5S的A7 CPU开始到刚刚发布的iPhone 6(A8 CPU)都转载 2014-11-04 13:25:04 · 1346 阅读 · 0 评论 -
iOS合并静态库,适用真机模拟器
①合并真机模拟器.a文件,制作通用静态库这两个库一个是用于真机运行的一个是用于模拟器运行的.其实我们可以利用lipo将这二个文件打包成一个通用的a文件。命令:lipo -create /Users/pjk1129/Library/Developer/Xcode/DerivedData/Print-dgfkluumuexoxhcapzidtsmdgqcj/Build/转载 2014-10-14 17:37:49 · 1353 阅读 · 0 评论 -
IOS是否在项目中存在,所使用的反射那点事
NSClassFromString,NSSelectorFromString,isKingOfClass1. NSClassFromString 这个方法判断类是否存在,如果存在就动态加载的,不存为就返回一个空对象; id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init]; 正常情况下等翻译 2014-10-13 18:12:02 · 1971 阅读 · 0 评论 -
Xcode 6 模拟器丢失问题(小问题)
今天打开Xcode,选择模拟器时发现只剩下了“iPhone 5”和“iPhone 5s”,原来什么“iPad Air”,“iPhone 4s”的都哪里去了?丢了?别着急,依次打开“Xcode->Window->Devices”,会发现原来”“iPhone 5”和“iPhone 5s”躺在这里,点击位于左下角的“+”按钮,新增常使用的设备即可,不常使用的设备也可以在选中后,点击“-”移除。原创 2014-10-28 14:12:10 · 8627 阅读 · 4 评论 -
IOS后台运行机制 与 动作
当用户按下"Home"键或者系统启动另外一个应用时,前台foreground应用首先切换到Inactive状态,然后切换到Background状态。此转换将会导致先后调用应用代理的applicationWillResignActive:和applicationDidEnterBackground:方法。 在applicationDidEnterBackground:方法返回后,大部分应用原创 2014-07-15 19:11:04 · 4466 阅读 · 0 评论 -
cocos2dx多线程以及线程同步 与 cocos2dx内存管理与多线程问题
cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线程中,游戏的界面就会卡,这是不能容忍的,游戏最基本的条件就是流畅性,这就是为什么游戏开发选择C++的原因。另外现在双核手机和四核手机越来越普遍了,是时候使用多线程来挖掘硬件的潜力了。1.环境搭建cocos2d-x中的多线程使用pthr原创 2013-11-07 16:17:32 · 27017 阅读 · 6 评论 -
苹果ARM64移动处理器
原文链接:http://www.mikeash.com/pyblog /friday-qa-2013-09-27-arm64-and-you.html“64位”我们先来谈谈“64位”这个术语及其含义。大家对于这个术语一直比较困惑,很大一部分原因在于,它没有统一的、约定俗成的定义。然而,在大体上却达成了一些共识,尽管这些共识并未为大众所知。“×× 位”CPU通常是指两翻译 2014-09-15 11:34:15 · 4693 阅读 · 0 评论 -
SpriteKit在iOS8和OSX10.10中的新特性(强悍来袭)
在iOS8和OSX10.10中SpriteKit迎来了重大升级。在物理表现方面增加了着色器,光照和阴影;在物理模拟方面增加了像素物理体、力场和宇宙动力学和约束等;在Xcode中集成了场景编辑器,你不需要写代码就能完成一些复杂的工作;此外它还集成了SceneKit以及其他的改进。Shader有时候为了表现一些形变和模糊效果,比如透过热气和火焰看一些物体,或者是飞船被攻击而产生弯曲。S转载 2014-08-11 12:04:16 · 4082 阅读 · 1 评论 -
Objective-C中的内存管理
在编程语言中是少不了对内存的管理的,内存对于计算机来说是宝贵的资源,所以对使用不到的资源进行回收是很有必要的。OC中使用引用计数和垃圾回收来管理内存,在OC中为每个对象分配一个引用计数器,当对象刚刚被创建时其初始值为1,当有某段代码需要访问一个对象是时,会将该对象的引用计数器加1(通过retain来实现);当访问一个对象结束时,会将该对象的引用计数器减1(通过release来实现);当计数器为0时原创 2014-08-06 12:53:43 · 1125 阅读 · 0 评论 -
Xcode6 新特性
苹果在WWDC 2014上对新版Xcode(Xcode 6 Beta版)并没有提及过多,但它却是开发者不能忽视的一部分。Xcode 6 Beta版为设计和创建软件引入了新方法,更加关注功能和一些改善以提高开发者对平台功能的使用和扩展能力,以帮助开发者设计新的界面,从而开发出高质量的应用。 Xcode 6 Beta版包括苹果新推出的Swift语言,有了新的交互工作区。Xcode 6原创 2014-06-03 12:53:53 · 12977 阅读 · 0 评论 -
做iOS开发我为什么弃用Objective-C而选择RubyMotion?
Hendrik Mans是德国汉堡市的一名程序员,他从事iOS开发已有很长一段时间了,起初他一直使用Objective-C语言进行编程而忽视了RubyMotion。从前他认为 RubyMotion只是个介于Ruby和Objective-C之间的交叉编译器,但后来他发现自己完全错了,现在Hendrik已彻底改变了自己的想法。 RubyMotion关于Ruby语言H原创 2014-07-02 10:50:30 · 3373 阅读 · 0 评论 -
XCODE6 产生ipa
随着Xcode6.1的普遍应用,随之而来的很多问题就会出现,这里来说一下如何在Xcode6.1上生成Ad-hoc ipa。首先是要在你的开发者账号上生成一个。ipa的主要应用就是在你发布到AppStore之前,客户用来测试的。好了,现在我们来说一下怎样在Xcode6.1下生成ipa文件。在这里,关于证书的配置,设备的添加就不在啰嗦的赘述了,直接从Ad-hoc profile生成开始。PS:如果你没转载 2015-08-12 17:18:13 · 1066 阅读 · 0 评论 -
iOS安全攻防越狱检测的攻与防
越狱检测的攻与防在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施。iOS7相比之前版本的系统而言,升级了沙盒机制,封锁了几乎全部应用沙盒可以共享数据的入口。即使在越狱情况下,限制也非常多,大大增加了应用层攻击难度。比如,在iOS7之前,我们可以尝试往沙盒外写文件判断是否越狱,但iOS7越狱后也无该权限,还使用老方法检测会导致误判。那么,到底应该如何转载 2015-08-27 19:09:51 · 1675 阅读 · 0 评论 -
iOS唯一表示符获取方案
苹果在iOS6中禁用了[UIDevice uniqueIdentifier],在iOS7中又把mac地址的获取给堵上了。没办法,毕竟人家是老大,说不让你用,你也没办法。在这边总结一下现有的一部分UDID获取方法(有苹果推荐的,也有第三方的),目的在于抛砖,没有切实的说明哪种方法好用。用哪种方法,完全由大家自己根据需要来决定。iOS2~iOS7目前已有的技术方案方案提供方实现方法用途及使用情况传统U翻译 2015-08-29 15:49:59 · 6922 阅读 · 0 评论 -
如何逆向破解抓包工具Charles!
一、前言我们在进行应用开发过程中有时候可以需要进行抓包测试数据,比如模拟服务端的下发数据和我们客户端的请求参数数据,特别是测试人员在进行测试的过程中都会进行抓包,当然我们在破解逆向的过程中也是需要用到抓包工具,因为我们抓到数据包可能就是我们破解的突破口,那么我们可能常用的都是Fiddler工具,但是这个工具有一个弊端就是只能在Windows系统中使用,但是还有一个厉害的工具就是跨平台工具Cha...原创 2018-10-19 14:44:19 · 6683 阅读 · 0 评论 -
Android性能优化:手把手带你全面了解 内存泄露 & 解决方案
前言在Android中,内存泄露的现象十分常见;而内存泄露导致的后果会使得应用Crash本文 全面介绍了内存泄露的本质、原因 & 解决方案,最终提供一些常见的内存泄露分析工具,希望你们会喜欢。 目录1. 简介即 ML (Memory Leak)指 程序在申请内存后,当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象2. 对应用程序的影响容易使得应用程序发生内存溢出,即 O...转载 2018-03-08 17:55:29 · 607 阅读 · 0 评论 -
Android .SO 文件的兼容和适配
开发 Android 应用时,有时候 Java 层的编码不能满足实现需求,就需要到 C/C++实现后生成 SO 文件,再用 System.loadLibrary()加载进行调用,这里成为 JNI 层的实现。常见的场景如:加解密算法,音视频编解码等。在生成 SO 文件时,需要考虑适配市面上不同手机 CPU 架构,而生成支持不同平台的 SO 文件进行兼容。目前 Android 共支持七种不同类型的 C原创 2017-09-26 20:18:46 · 535 阅读 · 0 评论 -
Xcode 在读写上提速100倍
上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,匠心独运,极客风十足。以下是他的经验分享和我个人的实测。问题来源我们都知道 Xcode 在运行或编译时,会有大量的读写操作。例如从硬盘中调用图片原创 2017-07-12 22:33:41 · 1160 阅读 · 0 评论 -
iOS10 权限崩溃问题
今天 手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist m转载 2016-09-27 11:02:50 · 1477 阅读 · 0 评论 -
cocos2d-js javascriptbinding实现
cocos2dx新创建项目android部分却少build_native.py 文件需要用cocos 命令行进行编译:基础配置部分: (for mac)/cocos2d-x-3.x/tools/cocos2d-console/bin下 (ccoos2dx 3.12)1. chmod u+x cocos.py 2. ./cocos.py new HelloWorldDemo -p com.原创 2016-09-05 15:16:46 · 5093 阅读 · 3 评论 -
cocos - js (v3.12) 搭建技术文章
下载必备的软件包下载并安装WebStorm7。WebStorm7目前的稳定版本是7.0.3。为什么我们选择WebStorm?因为它提供了许多功能,如JavaScript代码的语法完成,调试,语法高亮,版本系统集成等,你可以去WebStorm的更多信息的官方网站。从Cocos2d-x的官方网站下载Cocos2D-JS 3.0alpha版本。点此处下载。当你下载了的Cocos2D-JS 3.0alph原创 2016-09-05 14:41:33 · 1409 阅读 · 0 评论 -
android开发环境地址下载 adt-bundle android-studio sdk adt
android开发环境地址下载 adt-bundle android-studio sdk adt转载 2016-08-01 13:24:24 · 2383 阅读 · 0 评论 -
实践干货!猿题库 iOS 客户端架构设计
序猿题库是一个拥有数千万用户的创业公司,从2013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代。在如此快速的开发过程中,如何保证代码的质量,降低后期维护的成本,以及为项目越来越快的版本迭代速度提供支持,成为了我们关注的重要问题。这篇文章将阐明我们在猿题库 iOS 客户端的架构设计。MVCMVC,Model-View-Controller转载 2016-01-10 11:35:55 · 3668 阅读 · 0 评论 -
AFNetworking 支持cookies的解决方案
AFNetworking是支持cookies,只不过它把这个逻辑交给了iOS 底层的api处理了。 多话不说了,很讨厌网上那些人云亦云的帖子,三人成虎! 本次我们的项目重构,需要用到cookies,我直接给出解决方案吧:(cookie使用支持的简单思路是:首次请求时,服务器取回cookies,然后每次请求时附加上cookie,如此反复即可,至于cookies中有啥内容,我们不用关注,服务器要转载 2016-01-26 18:51:57 · 7495 阅读 · 0 评论 -
U3D 4.6.x 升级 xcode7 错误问题
【Unity】BitCode error 与 library not found for -liPhone-lib.Apple LLVM 7.0 - Code Generation:Optimization Level None [-0o].Build Options:Enable Bitcode No.Search PathsLi原创 2015-10-06 17:47:48 · 4018 阅读 · 0 评论 -
Android打包签名那点事
接触android开发也有一段时间了,对打包签名有所了解,但都是皮毛,一点不深入。今天结合网络上的资料和自己的实践,盘点下相关内容,打消自己的一些疑问,顺便做一下总结。一:打包签名的好处1)没有签名的应用不允许安装到模拟器或者真机上。2)没有签名的或仅仅debug签名的应用不能在Android Market上架销售。3)签名是开发者的身份标识,可以防止交易抵赖的发生。4)防止开发商或个人混淆替换已转载 2015-11-11 11:59:34 · 1173 阅读 · 0 评论 -
C++实现反射
反射这个特性在C++中是没有的。所谓反射,自己的认为就是通过一个名字就可创建、调用、获取信息等一系列的操作,这个在脚本语言里面是比较常见的,COM组件也类似,知道个ID名,就可以做很多的工作了。看看JAVA中的描述:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称翻译 2014-07-01 18:55:53 · 3656 阅读 · 0 评论 -
IOS私有API的使用
首先要使用class-dump 和dumpFrameworks.pl 工具 将ios的framework导出来。以下是工具的下载地址:class-dump下载地址http://www.codethecode.com/projects/class-dump/DumpFrameworks.pl原来的下载地址不能用了,我在github上的别人的越狱程序里面找到的。将下载好原创 2014-05-27 17:28:07 · 5389 阅读 · 0 评论 -
cocos2d-x如何优化内存的应用
自身以前也写过cocos2d-x如何优化内存的应用,以及内存不够的情况下怎么样处置惩罚游戏。今天在微博中看到有友好简介了下内存,挺详细的。不晓得是谁写的,我纪录下。一,IOS与图片内存在IOS上,图片会被积极缩放到2的N次方大小。例如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的。图片占用内存大小的共计的公式是;长*宽*4。何等一张512*512 占用的原创 2013-01-22 14:17:45 · 2742 阅读 · 0 评论 -
App应用刷榜乱象调查:刷榜公司谋划自律
最近两年,许怀哲和刘雄都在经营着一个外界看起来颇为神秘的生意——App刷榜。通过刷榜,他们能使一个原本无人问津的App应用,在两三个小时内,冲到苹果App Store排行榜的前列,从而让客户公司所开发的App有更大几率获得苹果iPhone、iPad用户的注意,以及投资人的青睐。对那些命运系于用户数量的App开发公司而言,刷榜算得上最实惠有效的推广渠道。据刘雄透露,通过刷榜,一款应用原创 2013-01-31 12:55:22 · 2201 阅读 · 0 评论 -
Android中的OpenGL ES简介
OpenGL ES软件层次栈,本章介绍了Android系统中OpenGL ES的调用层次栈,详细分析了库之间如何通过钩子(hook)实现API调用关联,让我们明白各个库之间的依赖关系。本节为Android中的OpenGL ES简介。Android中的OpenGL ES简介Android支持使用OpenGL(Open Graphics Library)API进行2D和3D图形的绘原创 2013-01-24 10:44:08 · 8345 阅读 · 0 评论 -
IOS各项生命周期
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running转载 2013-01-04 11:39:30 · 1418 阅读 · 0 评论 -
多核时代的移动开发(一)-函数式编程思想到来
在这里我们先初步分析一下目前移动游戏开发的概念与以往发生了怎样的改变。我们知道以前所谓的游戏开发与移动开发基本没有交集,移动游戏开发往往专指J2ME开发的一些小游戏,入门不难但是普遍用户体验不佳。而且由于J2ME标准不太统一所以造成移动游戏开发没有什么通用性,更难以形成统一的标准。但是由于平板及智能手机的普及,尤其是IPHONE的出现使移动游戏的核心领域迅速由2D向3D转换。 一个新兴转载 2012-12-26 16:03:54 · 1658 阅读 · 0 评论 -
Strategy Analytics:报告指出2017平均应用价8美分
未来,不仅免费游戏会巩固其支配地位,所有发行游戏(免费和付费)的平均价格也将在2017年降到8美分。以上来自Strategy Analytics的报告,该公司称,尽管零售价持续下降,市场份额下滑,全球付费下载收入在2008到2017的20年间将能达到570亿美元。然而,该公司称,付费游戏的下降和应用商店维护费的增加(主要是市场营销方面)可能导致市场提供开发商们“新的收入增长方式转载 2012-12-13 17:37:23 · 1246 阅读 · 0 评论 -
苹果产品设计的五大原则
众所周知,乔布斯是一个完美主义者,交付到他手中的产品原型都经过了上百次修改。苹果产品设计简洁、直观,用户体验好,这使得 iPad、iPhone 以及 Macbook 等产品获得了极大的成功。 乔布斯和苹果公司是如何让能够保证每一款产品都简洁完美的呢?国外媒体 One minute MBA 发布了一则关于苹果设计原则的视频,我们可以从中了解苹果设计产品时遵循哪些原则。转载 2012-12-13 17:31:15 · 4226 阅读 · 0 评论 -
移动云应用开发最佳实践
在过去,移动应用一直被分为本地应用程序或网络应用程序两类。在本文中,我们把网络应用程序归类为移动云应用范畴,因为网络应用程序在移动设备之外运行,而其数据存储也在移动设备以外。AD:编者按:在过去,移动应用一直被分为本地应用程序或网络应用程序两类。在本文中,我们把网络应用程序归类为移动云应用范畴,因为网络应用程序在移动设备之外运行,而其数据存储也在移动设备以外原创 2012-12-13 16:57:15 · 1792 阅读 · 0 评论 -
揭秘:CIO走向成功的十二条秘笈
本人与众多成功的CIO进行了交流,并分析其成功之处,得出了共性的十二条成功秘笈,供大家参考。1、管理好IT供应商一个企业经过大规模的信息化建设后,企业对IT的投入将会减少,在这个阶段对IT供应商来说,企业的吸引力就会越来越小,此时如何管理好供应商,让供应商还是像以前那样重视企业的信息化建设,必须做到两点:一是给供应商描绘美好的蓝图,给供应商讲动听的故事,让供应商等待,以便投入足够的原创 2012-12-13 16:53:26 · 1296 阅读 · 0 评论