当前测试版本:cocos2d-x 3.8.1 3.7也试用,之下的版本没测过,一般是路径改变,文件名称一般不会变
注:当前工程是通过控制台new的工程,不是cocosStudio创建的工程
必须先通关官网:http://www.cocos.com/doc/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/cocos2d-js/catalog/../../html5/facebook-sdk/facebook-sdk-on-ios/zh.md
发现按照教程一步步走完后,编译到linking的时候出错,心中一万匹草泥马奔过
大概是这样的错误:ld: symbol(s) not found for architecture armv7 在AppDelegate.o中 找不到 register_all_pluginx_protocols 和 register_pluginx_js_extensions这两个方法的定义
之前cocosStudio明明接成功了的,看了下之前创建的工程(
啰嗦一下:
控制台创建工程:AppDelegate中添加头文件
#include "jsb_cocos2dx_pluginx_auto.hpp" //pengyingh
#include "jsb_pluginx_extension_registration.h" //pengyingh
注册 register_all_pluginx_protocols 和 register_pluginx_js_extensions这两个方法,
Studio创建的工程:改为在js_module_register.h中添加 头文件和注册两个方法
)
发现个别文件夹没有导入:
register_all_pluginx_protocols和register_pluginx_js_extensions 在
YourProject/frameworks/cocos2d-x/plugin/jsbindings 下的auto和manual这两个文件夹的文件中
右键工程添加auto和manual这两个文件夹,注意勾选 Create groups
然后上述两文件夹下的cpp文件就自动添加到了Build Phases 下的 Compile Sources中
然后编译依然出错,大概是jsb_pluginx_basic_conversions.h这个文件 导入头文件#include "ProtocolIAP.h" 找不到 ProtocolIAP.h 这个文件
通关官网攻略的同学会发现 PluginProtocol.xcodeproj这个链接工程下的 include文件夹已经有了ProtocolIAP.h这个文件,只不过在我们主工程下没有这个文件夹的路径
需要在主工程下的BuildSettings中SearchPaths下的UserHeaderSearchPaths下添加两条路径
大概这样:
$(SRCROOT)/../../cocos2d-x/plugin/protocols/include
$(SRCROOT)/../../cocos2d-x/plugin/protocols/platform/ios
然后发现工程竟然可以跑起来了
泥煤~~~