cocos2d-js IOS接facebook插件

当前测试版本: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

然后发现工程竟然可以跑起来了

泥煤~~~

 

 

原文地址:https://www.cnblogs.com/pengyingh/p/4863503.html