描述:
CocosCreator导出的iOS项目本身属于一个独立的项目,由于包含了Cocos的库以及与其相关的依赖关系,很难或者说不能直接打包成.a或者.Framework的形式来把完整的功能整合进一个新的iOS项目中,所以尝试将此项目直接导入新项目。
步骤
- 准备工作
修改新的iOS项目中的AppDelegate名称,否则与cocos::AppDelegate冲突。
#import "MNAppDelegate.h"
@interface MNAppDelegate ()
@end
@implementation MNAppDelegate
1. (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
return YES;
}
2. (void)applicationWillResignActive:(UIApplication *)application
{
}
3. (void)applicationDidBecomeActive:(UIApplication *)application
{
}
-
将Creator iOS项目如下图所示的目录拷贝到新的iOS项目的根目录下
以下是Cocos iOS项目需要拷贝的目录:
代码
库
资源
整合进新的iOS项目的根目录下:
-
在xcode工程中导入cocos2d_libs.xcodeproj
注意加入方式选择Create folder references. -
在项目中配置中选择targets,在Build Phases中添加Target Dependencies和Link Binary With Libraries。
-
PROJECT中设置User Header Search Paths,相对路径,因为我把cocos2d-x文件夹放在Test.xcodeproj的同级目录,所以是这个路径。$(SRCROOT)是.xcodeproj所在位置
$(SRCROOT)/cocos2d-x
$(SRCROOT)/cocos2d-x/cocos
$(SRCROOT)/cocos2d-x/cocos/base
$(SRCROOT)/cocos2d-x/cocos/physics
$(SRCROOT)/cocos2d-x/cocos/math/kazmath
$(SRCROOT)/cocos2d-x/cocos/2d
$(SRCROOT)/cocos2d-x/cocos/gui
$(SRCROOT)/cocos2d-x/cocos/network
$(SRCROOT)/cocos2d-x/cocos/audio/include
$(SRCROOT)/cocos2d-x/cocos/editor-support
$(SRCROOT)/cocos2d-x/extensions
$(SRCROOT)/cocos2d-x/external
$(SRCROOT)/cocos2d-x/external/sources
$(SRCROOT)/cocos2d-x/external/chipmunk/include/chipmunk
$(SRCROOT)/cocos2d-x/cocos/scripting/js-bindings/manual
$(SRCROOT)/cocos2d-x/external/mac/include/v8
$(SRCROOT)/cocos2d-x/cocos/scripting/js-bindings/auto
- 设置TARGETS中User Header Search Paths,这里设置同第5步
$(inherited)
$(SRCROOT)/cocos2d-x/cocos/platform/ios
$(SRCROOT)/cocos2d-x/plugin/jsbindings/auto
$(SRCROOT)/cocos2d-x/plugin/jsbindings/manual
$(SRCROOT)/cocos2d-x/external/ios/include
$(SRCROOT)/cocos2d-x/external/ios/include/spidermonkey
- C / C++编译器的选择,这个与原本项目有关,并关闭BitCode
- 导入Classes和Resources文件夹中的文件,注意Resources文件夹中的文件选择Create folder references方式加入。
- 在修改后的iOS AppDelegate中添加对于Cocos的AppDelegate的启动
- 在目标ViewController中添加CocosView,展示Cocos的内容。
以上就是整合过程了。
借鉴:https://www.jianshu.com/p/54bfbaf73246 《xcode中导入cocos2d_libs到自己项目中》