m4a, mp3, wav, caf, aiff
afinfo xxx.mp3 查看某个音频文件的具体参数
afconvert -hf 查看支持的转换格式
m4a, mp3, wav, caf, aiff
afinfo xxx.mp3 查看某个音频文件的具体参数
afconvert -hf 查看支持的转换格式
1. CCEditBox ios下setText 默认不显示出文字
2. ios下多点触摸默认关闭
3. 图片资源文件加密
4. 数据库加密
5. 代码混淆: 过滤掉jni要调用的函数
6. 反二次打包: 检测包名,不对则不进入游戏,提示请下载正版
7. 反反编译: 隐藏广告
采用sqlite进行数据管理,可以方便快捷的实现数据的增删改查等各种各样的数据管理.
1.设计数据库表结构 和 sql语句
2.用sqlite database browser生成.db数据库文件
检查执行所有sql语句
3.把.db文件放入项目, 把SqliteDB代码放入项目,修改代码中的db文件名称
4. 通过SqliteDB执行sql语句, 进行各种数据操作
android: 调用jni, 打开选取图片的功能
返回值: 调用 c++函数
c++部分: 函数名称必须是java源文件的路径, 并加上JNIEXPORT \ JNICALL标志
JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxRender_nativeTouchesBegin(JNIEnv* env, jobject thiz, jint id, jfloat x, jfloat y);
java部分: private static native void nativeTouchesBegin(final int pID, final float px, final float pY);
ios: 调用mm文件, 打开选取图片的功能
返回值: 调用c++函数
DXPhotoPicker.h
DXPhotoPicker.cpp
DXPhotoPickerIOS.h
DXPhotoPickerIOS.mm
DXPhotoPicker.java
DXPhotoPickerJni.cpp
DXPhotoPickerAndroid.h
DXPhotoPickerAndroid.cpp
2015.2.1以后,所有App Store的应用必须支持arm64。有很多游戏基于cocos2d-x 2.x版本开发。cocos2d-x 2.x之前是不支持arm64的,最近虽然发布了一个支持arm64的版本,但多数开发者对引擎做过修改。如果要更换引擎,工作量还是蛮大的。其实只要做下列几步修改,就能使2.x项目完全支持arm64:
1. 查看xcode项目中所有.a静态库文件是否支持arm64
命令: lipo -info libxx.a
可以看到,应该已经支持了 i386 x86_64 armv7 armv7s 几种处理器, 而没有arm64. 下载个最新版本的cocos2d-x, 从中找出相应的.a文件及其.h文件, 合成出支持所有处理器的.a文件,并覆盖旧文件。如果调用了百度联盟、腾讯广点通、有盟等第三方sdk, 新版本都已经支持arm64, 更新即可。
合成.a的命令:
lipo –create Release-iphoneos/libxx1.a Debig-iphonesimulator/libxx2.a –output libxx.a
2. 修改xcode项目内的Architectures配置为支持armv7, arm64
(子项目也要修改)
3. 修改iOS Deployment Target为 iOS 5.1
(子项目也要修改)
4. 下面两个地方的__ARM_NEON__更换为_ARM_ARCH_7
在neon_matrix_impl.c中修改
#if defined(__ARM_NEON__)
为 #if defined(_ARM_ARCH_7)
在mat4.c中修改
#if defined(__ARM_NEON__)
为 #if defined(_ARM_ARCH_7)
1. 长按按钮崩溃, 内存引用释放过度
2. 列表控件只能用代码实现
3. 动画不能实现循环
原因: 程序已经完成启动过程,但调试程序gdbserver还没有准备就绪,导致开始的一些断点没有执行。
解决方案: JNI入口假如暂停语句,代码如下:
void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thiz, jint w, jint h)
{
#if COCOS2D_DEBUG
sleep(12);
#endif
}