【问题标题】:Specifying app_id and app_name for facebookConnect in a multi-device hybrid app in VS2013 & W8.1在 VS2013 和 W8.1 的多设备混合应用程序中为 facebookConnect 指定 app_id 和 app_name
【发布时间】:2014-08-26 22:57:59
【问题描述】:

我一直在努力解决这个问题。

在 Visual Studio 2013 的多设备混合应用程序中尝试使用 facebookConnect 插件时,如何指定 app_id 和 app_name?

如果我使用 CLI 方法创建新解决方案;类似于:

cordova create MyTest <blah> <blah> <blah>

我可能可以使用 CLI 使用类似于以下命令的命令添加插件:(未经测试,命令可能略有错误)

cordova plugin add com.phonegap.plugins.facebookconnect

但是……

当我直接从 Visual Studio 中创建多设备混合应用时,如何添加它?

我尝试了 2 种方法来安装它:

方法一:

  1. 创建一个“插件”目录
  2. 从以下位置下载代码 https://github.com/Wizcorp/phonegap-facebook-plugin 并提取到 插件目录
  3. 编译/构建

这似乎“工作”,但随后轰炸:

Variable(s) missing: APP_ID, APP_NAME

方法二:

  1. 打开 config.xml 文件
  2. 添加以下“vs:feature”标签:
  3. 编译/构建
    <vs:features>
     <vs:feature>com.phonegap.plugins.facebookconnect</vs:feature>
    

此方法似乎也“有效”,在构建输出窗口中显示了一行:
Calling plugman.fetch on plugin "com.phonegap.plugins.facebookconnect"

但它也被令人讨厌的东西炸毁了:

Variable(s) missing: APP_ID, APP_NAME

谁能告诉我在哪里添加这两个变量以便构建东西???

我有可用的值。

我似乎无法使用 CLI 将此插件安装到我的解决方案中,因为我收到如下错误:

Current working directory is not a Cordova-based project

感谢您提供的任何帮助。

【问题讨论】:

  • 您找到答案了吗?我有同样的问题
  • 嗨@Tom,我还没有让这个工作。无论我做什么,我都会不断收到错误消息。
  • 嗨@Tom,在创建一个新项目并按照他概述的步骤后,我已将源代码发送到Avani 在下面其他答案中建议的电子邮件地址。如果/当我收到他们的消息时,我会发布他们发现的任何内容。
  • 对于关注此问题的人,请参阅下面的链接。希望我们中的一个人能尽快得到解决方案。 stackoverflow.com/questions/25553724/…
  • 您收到过回复吗?我不得不回到不使用 VS 的应用程序,但我真的很想把它放回 VS

标签: facebook visual-studio-2013 cordova-plugins multi-device-hybrid-apps


【解决方案1】:

我建议使用 方法 1,因为它为配置插件提供了更大的灵活性。话虽如此,您遇到的是一个常见的issue 与 FacebookConnect 插件,当它是手动添加而不是使用科尔多瓦 CLI 时。要添加应用 ID 和应用名称,请按照 here 文档中的说明执行以下操作。

plugin.xml中,找到下面几行<preference name="APP_ID"> <preference name="APP_NAME">,修改为<param name="APP_ID" value="<id of your app>" /> <param name="APP_NAME" value="<name of your app>" />

这将使您摆脱错误。

但是,插件是用 Java 编写的,并且引用没有预编译。所以,你会遇到com.facebook.blah not found 之类的问题。要解决这些额外的编译问题,请按照说明 here,它可以让您在没有 eclipse 的情况下构建插件依赖项。

要使用 CLI 安装插件,您需要从创建 cordova 项目的&lt;projectRoot&gt;\bld\debug\platform\&lt;yourplatform&gt; 运行命令。

【讨论】:

  • 嗨@Avani,仍然没有运气。我似乎无法在 VS2013 编译器需要的任何地方获得 APP_ID/APP_NAME 值。我按照你的建议做了。我在您发布答案之前的某个时间点找到了您引用的页面。您是否能够将此 facebookConnect 插件安装到 VS2013 多设备混合应用程序项目中?如果是这样,您能否分享有关如何编译阶段的分步说明,因为我真的很努力。谢谢
  • 当然。 1. 从 GIT 下载插件源 2. 在您的项目中创建一个插件文件夹。 3. 将下载的源代码复制到插件文件夹中。 4. 在插件本身中打开 plugin.xml 并将preference name='blah' 参数更改为param name="APP_NAME" value = &lt;blah&gt; 5. 构建您的项目。这对我有用。如果你仍然被阻止,你介意给 vscordovatools@microsoft.com 发送电子邮件,我们可以从那里接收它吗?
  • 嗨@Avani,我已经向您列出的电子邮件地址发送了一封电子邮件。如果您正在寻找它,主题是“使用 Facebook Connect 插件编译多设备混合应用程序时出现问题”。非常感谢你们能给我的任何帮助,我已经为此奋斗了大约 3 周。
  • 你是我最好的新朋友广告。如果你能告诉我什么时候/如果他们回复我们将永远是朋友!
  • 请确保您将 plugin.xml 中的元素更改为 ,这将使您通过错误 103 缺少变量:APP_ID、APP_NAME。
【解决方案2】:

您可能会错过将元素从首选项重命名为参数

plugin.xml 中,将应用程序名称和应用程序 ID 的首选项更改为参数,并输入它们的值。

<preference name="APP_NAME"> 
to 
<param name="APP_NAME" value="<name of your app>" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多