>创建工作区
>添加了我的项目
>添加了Cocos2d iOS项目(通过拖放到项目导航器中).这是我项目的兄弟姐妹(不是孩子).
>在我的项目中,在构建阶段,链接到libcocos2d.a
>在我的项目的构建设置中 – 将“始终搜索路径”设置为“是”
>创建指向包含cocos2d iOS xcodeproj文件的文件夹的源树变量.
>在我的项目的用户标头路径中,从步骤6添加了源树变量.设置为递归.
8.在项目导航器中,单击libcocos2d.a库(它显示为红色).设置位置“相对于构建产品”您可以在Xcode 4.3.1中的最右侧窗口中进行设置.
>关闭工作区,并在TextWrangler中打开pbxproj文件.搜索包含libcocos2d.a的路径删除路径,因此该条目只读取“libcocos2d.a”.这是因为在编译之后,库仍然在app的同一个构建目录中.
Codesense和自动完成工作.但这不会编译.当我尝试构建时会弹出大约70个链接器错误,所有这些都说:
架构armv7的未定义符号:
“_OBJC_CLASS _ $_ CCDirector”,引自:
AppDelegate.o中的objc-class-ref
ViewController.o中的objc-class-ref
“_kEAGLColorFormatRGB565”,引自:
– AppDelegate.o中的[RIAppDelegate applicationDidFinishLaunching:]
“_OBJC_CLASS _ $_ CCTexture2D”,引自:
AppDelegate.o中的objc-class-ref
“_OBJC_CLASS _ $_ EAGLView”,引自:
AppDelegate.o中的objc-class-ref
如果我尝试为模拟器构建,那么它代替armv7,它表示i386缺少符号. cocos2d项目本身编译和放大建立好.这是我的项目有上述错误.
我尝试构建后,cocos2d库存在于我的应用程序的构建目录中.
编辑:忘了提.我还编辑了我的项目的计划,以便不并行构建.我还添加了cocos2d目标,并使其成为列表的顶部(因此它应该首先构建).
编辑:澄清 – 如上所述对pbxproj文件进行更改后,libcocos2d.a文件不再是红色.看起来很正常.此外,我的应用程序也已构建,即使存在链接错误和构建失败. (它实际上并不构建,但产品不是“红色”.应用程序文件创建在与生成cocos2d库的位置相同的位置.
解决方法
我还没有向商店提交申请,所以如果有经验丰富的人可以查看是否有任何陷阱/错误,那就太棒了.英语是我的第二语言,所以请不要介意.这是使用cocos2d1.1beta2和Xcode 4.3.1完成的
>创建Xcode工作区
>导航到包含cocos2d xcodeproj文件(iOS / Mac)的文件夹.这是你下载后解压缩cocos2d的地方.
>将xcodeproj文件拖放到Xcode的导航窗口中.(最左边的窗口).
>单击cocos2d项目文件附近的小三角形,使其所有内容消失.
>右键单击导航器和“新建项目”,将新项目添加到工作区.确保将项目作为兄弟添加到cocos2d项目中,而不是作为子项.我选择了单一窗口应用程序(iOS)
>在此新项目中,转到构建设置,并将“始终搜索用户路径”更改为“是”
>将cocos2d文件夹的位置添加到“用户标题搜索路径”.如果您愿意,可以将cocos2d文件夹添加到Xcode中的源代码树列表中,而只需在此处填写变量名称.例如:${COCOS2D_SRC}.如果以后想要更改构建环境的文件夹结构,这很方便.
>单击目标并选择构建阶段选项卡.您想要将以下二进制文件与您的库链接.确保他们在那里.
libcocos2d.a
libz.dylib
libxml2.dylib
OpenGLES.framework
QuartzCore.framework
UIKit.framework
Foundation.framework
CoreGraphics.framework
如果libcocos2d.a是“红色”,那么不要担心它.它仍然可以正确编译/链接.
>在构建设置下,将“仅构建活动体系结构”更改为YES.
否则,您可能会忽略文件/Users/Pteriedaktyl/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/libcocos2d.a时出错,文件是为归档而构建的,而不是链接的体系结构(armv6)
>在info.plist文件中,确保删除armv7中“所需设备功能”中的条目.否则,您的代码将仅在较新的设备上运行.
现在你定了!您应该能够从兄弟项目访问cocos2d api.如果您想更改cocos2d的版本,只需更改工作区中的cocos2d项目,更新源树路径(如有必要),并链接到新的libCocos2d.a