1:做界面和按钮之前首先考虑下多次点击导致多次加载的问题。
2:获取数据信息的时候首先判空。
3:cocostudio有些控件选择交互之后会吞噬触摸事件,不需要勾选,自己手动添加触摸事件。
4:CCNode添加cocostudio节点需要调用panel:addNode() 方法,注意移除子节点的时候不能调用removeFromParentAndCleanup(true),这样会不释放的,应该调用removeNodeByTag()
5:调用方法的时候忘记:直接写成self.name,这样会导致参数接受错误
6:ios送审版本失败之后,重新出包需要提高一个版本号,沙盒账号测试充值记得苹果账号要填写银行卡信息,要先传应用构建版本在创建商品。
7:google送审时,也需要提高一个versioncode
8:测试google充值时把google账号加入到测试组中,测试包的versioncode要和发布包一致,google账务要打开权限。正式服上要更一下商品列表。
9:android查看崩溃日志时候搜索;FATAL EXCEPTION: 即可锁定崩溃原因
10:mac上面终止xcode进程并重启xcode的shell语法:
echo `kill -9 $(ps -ef | grep MacOS/Xcode | awk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')`
echo `sleep 1`
echo `open "/Applications/Xcode.app"`
11:android包在某些机型上运行崩溃,首先查看libs目录下时候包含全面的cpu架构,如:armeabi、arm64-v8a、mips、armeabi-v7a、mips64、x86、x86_64
12:更改代码测试程序时,始终不生效的话多半是线上有更新包覆盖了更改的代码包导致的。
13:热更新过程中,更新的逻辑没有生效,首先查看更新包的目录结构是不是存在问题。
14:在lua文件的开头使用local变量时,尽量声明一些常量,如果把变量声明于此,常常会发生只有第一次进入该页面数据生效,关闭重新进入无效的问题。
15:txt保存时如果有中文的话一定要保存为utf8-无bom格式,否则程序中读取会出现问题。
16:调用shader去置灰按钮并且不接受触摸事件的方法要在绑定事件之后调用,否则绑定事件的方法里面会启用触摸事件。
17:获取页面上某一个控件的坐标时需要注意有些页面有进入动画,需要等待动画完成时再去获取坐标。
18:代码控制某一个控件的属性无效时,检查tag值、检查json中有没有重复的tag覆盖了、或者就没有改tag值。
19:layer和scene如果需要修改锚点的位置要这样:newLayer:ignoreAnchorPointForPosition(false) 然后再newLayer:setAnchorPoint(cc.p(0.5,0.5))就可以生效了。