描述:
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到自己項目中》