Xcode 4 ,上传苹果商店报错。

warning: iPhone/iPod Touch: application executable is missing a required architecture.  At least one of the following architecture(s) must be present: armv6 (-19033)

Answer:

 For some reason the default architecture settings with xCode 4.2 is only for armv7. Go to Target -> Build Settings -> Architectures -> Release on value dropdown pick "Other...",

remove $(ARCHS_STANDARD_32_BIT), and add 2 rows first with "armv6" and second "armv7"
Done

1、错误提示:iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)

解决方法:Target->Build Settings->Architectures->Standard(armv7)->Other...->删掉原来的内容,然后逐个添加"armv6"和"armv7"(注意顺序);Build Active Architecture Only选择Yes

2、错误提示:安装到老的iOS设备出错--->发生未知错误(0xE8003FFE)

解决方法:ipa不支持老的设备(armv6),在打包的时候做如下改动:Target->Build Settings->Architectures->Standard(armv7)->Other...->删掉原来的内容,然后逐个添加"armv6"和"armv7"(注意顺序);Build Active Architecture Only选择Yes

3、错误提示:warning: iPhone apps with a deployment target lower than 4.3 should include an armv6 architecture (current IPHONEOS_DEPLOYMENT_TARGET = "4.0", ARCHS = "armv7").

解决方法:iOS版本低于4.3,应该包含armv6,解决方法同上,注意armv6和armv7的顺序

4、cocos2d-2.0-x-2.0.2

错误提示:error C2440: “类型转换”: 无法从“void (__thiscall MoveController::* )(cocos2d::CCTime)”转换为“cocos2d::SEL_SCHEDULE”
1>          指向成员的指针有不同的表示形式;无法在它们之间进行类型转换

解决方法:cocos2d-2.0-x-2.0.2的schedule有点改变,目标方法的参数不是ccTime 而是float,如:原来_keepDoing(CCTime dt),改为_keepDoing(float dt)即可

5、xcode报错,截图:

出现这个错误的原因是在.h文件里声明了一个方法,但是没有在相应的.cpp文件里面实现。(截图中选中的方法未实现)



10-11 20:15