我知道有一些文章在讨论这个问题,我跟着他们都没有运气。
我遇到了问题 - “Facebook变量不存在。请检查您是否已包含Facebook JS SDK文件”
Xcode中的我的包名称为org.apache.cordova.Game
因此,如果我在配置文件中正确理解,我写道:
<gap:plugin name="org.apache.cordova.Game.plugins.FacebookConnectPlugin">
<param name="APP_ID" value="123123" />
<param name="APP_NAME" value="Game" />
</gap:plugin>
我正在尝试启动示例index.html
,cdv-plugin-fb-connect.js
和facebook-js-sdk.js
都在www
文件夹中(使用finder复制js
并且不执行任何操作来自Xcode)
index.html
也在finder中复制到www
,来源是:
<body>
<button onclick="login()">Login</button>
<button onclick="me()">Me</button>
<!--<button onclick="getSession()">Get session</button>-->
<button onclick="getLoginStatus()">Get login</button>
<button onclick="logout()">Logout</button>
<button onclick="facebookWallPost()">facebookWallPost</button>
<button onclick="publishStoryFriend()">friendstory</button>
<div id="data">loading ...</div>
<!--<script src="http://localhost:8080/target/target-script-min.js#anonymous"></script>-->
<div id="fb-root"></div>
<!-- cordova -->
<script src="cordova.js"></script>
<!-- cordova facebook plugin -->
<script src="cdv-plugin-fb-connect.js"></script>
<!-- facebook js sdk -->
<script src="facebook_js_sdk.js"></script>
<script>
.........
答案 0 :(得分:0)
首先来自cordova 3,应该将配置文件插件添加为插件作为功能而不是插件
<feature name="org.apache.cordova.facebook.Connect">
<param name="ios-package" value="FacebookConnectPlugin" />
</feature>
其次在html中它应该在设备上准备就绪,而不是FB的web dev API中记录的那样:
document.addEventListener('deviceready', function() {
try {
FB.init({ appId: "12345", nativeInterface: CDV.FB, useCachedDialogs: false });
FB.Event.subscribe('auth.authResponseChange', function(response) {
getProfile();
});
} catch (e) {
alert(e);
}
}, false);