1

我已经能够在不使用 Xcode 的情况下成功构建我的 iOS 应用程序。我的应用程序是 HTML、CSS 和 Javascript 的集合,以及我可以使用 Phonegap Build 编译的config.xml 。

该应用程序的基本功能已经在 iPhone 上进行了测试并且运行良好,但现在我想使用Phonegap Build 的 FacebookConnect 插件向应用程序添加一个社交层。但是,GitHub 上的文档要求在 Xcode 中设置应用程序。

在不使用 Xcode 的情况下,有没有办法下载 SDK(而不是 .pkg)并将其添加到我上传到 Phonegap Build 以进行编译的项目文件中?如果是这样,我从哪里获得这些文件,我需要哪些文件,以及在我的项目结构中的哪里包含这些文件?

这是我目前的项目结构:

-config.xml
-index.html
-includes
--css
--js

也许有一种方法可以用 GitHub 做到这一点,但我从未做过拉取请求或类似的事情。我只是在我的文本编辑器中工作,不知道如何从 GitHub 中提取。

Phonegap 构建插件

感谢您对此提供的任何帮助!

4

1 回答 1

1

我已经在没有 Xcode 的情况下在 Windows 上成功实现了用于 Phonegap Build 的 FacebookConnect 插件。

我建议只按照Phonegap Build Plugins 页面上的说明进行操作,而忽略GitHub 页面上的说明(其中涉及 Xcode 和其他您不需要 Build 插件的内容)。他们现在更新了 GitHub 页面说明,以引导 Phonegap Build 用户远离 GitHub 说明并转到 Phonegap Build Plugins 页面。

对于第 1 步(在 facebook 上设置您的应用),选择 Native iOS App,Bundle ID 与您在 config.xml(即 com.company.appname)中的“id”相同,您可以将 App Store ID 设置为测试时为“0”。

对于第 2 步,请确保使用facebook-js-sdk.js. 一时间有错别字。

一个很好的测试方法是将GitHub 上的示例 Simple 应用程序的内容粘贴到一个新的 index.html 文件中,然后将其与您的普通 config.xml 文件一起上传到 Phonegap Build 。我在我的应用程序上进行了一次构建,然后在测试之后,上传了我的普通 index.html 文件。您需要在示例应用程序的 index.html 中进行的唯一更改是将您的 Facebook 应用程序 ID 放在 FB.init 函数的底部。我也改为response.session匹配response.authResponseFacebook JS SDK,但我不确定这是否有必要。

请务必使用第 3 步config.xml中提到的所有内容更新您的文件。我还添加了以下代码:

<access origin="http://m.facebook.com" />

<access origin="http://graph.facebook.com" />

<access origin="http://api.facebook.com" />

<access origin="http://fbcdn.net" subdomains="true" />

<access origin="http://akamaihd.net" subdomains="true" />

config.xml如果您的文件中已经包含以下内容,则不需要上述代码:

<access origin="*" /> 

FacebookConnect 插件使用 Facebook JS SDK,您可以在此处了解更多信息:https ://developers.facebook.com/docs/reference/javascript/ 。

此外,我遇到的另一个问题是 Phonegap 构建团队正在处理的问题是,在请求权限时,您不能只通过放弃scope选项来请求基本权限。目前,您必须至少包含一个scope选项才能使登录功能正常工作。

function fbLogin () {
  FB.login(function(response) {
    if (response.authResponse) {
      alert('User Login Success!');
    }   else {
      alert('User cancelled login or did not fully authorize.');
    }
  }, { scope: "email" });
}

大多数开发人员可能想要要求的不仅仅是基本权限,所以这应该不是什么大问题。

我上面的回复来自Phonegap Build Support Site上关于 Facebook 插件的讨论。您可以在此处了解有关插件以及当前问题和解决方案的更多信息。

我花了一点时间才弄清楚这些东西,所以希望这能帮助其他人节省一些时间。

于 2013-02-26T17:55:37.983 回答