科尔多瓦 3.3. iOS 的 Facebook 集成
Posted
技术标签:
【中文标题】科尔多瓦 3.3. iOS 的 Facebook 集成【英文标题】:cordova 3.3. facebook integration for iOS 【发布时间】:2014-04-08 12:18:30 【问题描述】:错误:
2014 - 04 - 08 17: 38: 33.210 javacourseblog[10129: 907] ERROR: Plugin 'org.apache.cordova.facebook.Connect'
not found,
or is not a CDVPlugin.Check your plugin mapping in config.xml.
2014 - 04 - 08 17: 38: 33.211 javacourseblog[10129: 907] - [CDVCommandQueue executePending][Line 158] FAILED pluginJSON = ["org.apache.cordova.facebook.Connect1333284177", "org.apache.cordova.facebook.Connect", "login", ["email"]]
这是我的错误;
我尝试使用 cordova 登录和注销 Facebook
我关注了这个下面的博客页面。
http://javacourseblog.blogspot.in/2014/01/facebook-login-logout-using-cordova-330.html
android facebook 登录工作正常。但是ios构建它显示上面的错误。我跟着
Phonegap 3.0 IOS plugins not found
它也对我没有帮助..请任何人都可以帮助...
【问题讨论】:
【参考方案1】:第 1 步: 通过 telnet 创建 cordova 项目:
cordova create facebook in.com.fb Facebook
第 2 步: 添加 facebook cordova 插件
cordova plugin add https://github.com/phonegap/phonegap-facebook-plugin.git
第 3 步: 删除并添加 fb id 和应用程序名称。从
打开 plugin.xml 文件 find and remove below 2 line
after to add this 2 line
第 4 步 为 android 或 ios 添加您的平台 科尔多瓦平台添加ios 第 5 步 1.现在在您的 www 文件夹中引用 cordova.js 、cdv-plugin-fb-connect.js 和 facebook-js-sdk.js 2.删除旧代码表单 index.html.add follwoing 代码查找替换 index.html 中的 fb 应用程序 ID '
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" charset="utf-8" src="cdv-plugin-fb-connect.js"></script>
<script type="text/javascript" charset="utf-8" src="facebook_js_sdk.js"></script>
<div id="data">Hello Facebooktesters, loading ...</div>
<button onclick="login()">Login</button>
<button onclick="me()">Me</button>
<script type="text/javascript">
document.addEventListener('deviceready', function()
try
alert('Device is ready! Make sure you set your app_id below this alert.');
FB.init(
appId : "Your fb Id",
nativeInterface : CDV.FB,
useCachedDialogs : false
);
document.getElementById('data').innerHTML = "FB init executed";
catch (e)
alert(e);
, false);
function me()
FB.api('/me/friends',
fields : 'id, name, picture'
, function(response)
if (response.error)
alert(JSON.stringify(response.error));
else
var data = document.getElementById('data');
fdata = response.data;
console.log("fdata: " + fdata);
response.data.forEach(function(item)
var d = document.createElement('div');
d.innerHTML = "<img src="+item.picture+"/>" + item.name;
data.appendChild(d);
);
var friends = response.data;
console.log(friends.length);
for ( var k = 0; k < friends.length && k < 200; k++)
var friend = friends[k];
var index = 1;
friendIDs[k] = friend.id;
//friendsInfo[k] = friend;
console.log("friendId's: " + friendIDs);
);
function login()
FB.login(function(response)
if (response.authResponse)
alert('logged in');
else
alert('not logged in');
,
scope : "email"
);
</script>
<!-- <script type="text/javascript">
app.initialize();
</script> -->
</body>
</html>'
第 6 步: 在 xcode 中打开您的项目并打开 ios plist 文件并添加您的 fb appid 和 fb app_name 第 7 步 去你的codova config.xml.find下面这条线是否退出..如果没有退出(ios)添加到步骤..
<feature name="org.apache.cordova.facebook.Connect">
<param name="ios-package" value="FacebookConnectPlugin" />
</feature>
第 8 步
cordova 构建
第 9 步 再次检查 plist 文件 第 10 步 运行你的 ios 模拟器
【讨论】:
【参考方案2】:确保以正确的方式安装您的 facebook phonegap 插件。不要使用plugman。
cordova plugin add https://github.com/phonegap/phonegap-facebook-plugin --variable APP_ID="xxxxxxxxxxxxxxx" --variable APP_NAME=“YourAppName”
【讨论】:
是..我安装了正确的方式...感谢重播..我找到了解决方案...它的配置问题。我整理出来了。现在它在 ios 中为我工作。以上是关于科尔多瓦 3.3. iOS 的 Facebook 集成的主要内容,如果未能解决你的问题,请参考以下文章
带有 facebook/gmail 的 OAuth 不适用于 iOS 模拟器(Cordova 应用程序 + Firebase)
科尔多瓦:android 4.1 中的 facebook 登录错误“为 facebook 登录配置错误”
在科尔多瓦/网络/混合应用程序中登录 Facebook 的最佳解决方案是啥?
Phonegap 科尔多瓦 2.3.0 phonegap-facebook-plugin