facebook - 如何使用 Module.Facebook 和钛合金登录 Facebook

标签 facebook appcelerator appcelerator-titanium appcelerator-alloy

我正在按照列出的说明进行操作 http://docs.appcelerator.com/platform/latest/#!/api/Modules.Facebook

并查看 Arrow 示例目录中的示例 /Users//Library/Application Support/Titanium/modules/commonjs/ti.cloud/3.2.10/example/windows/social/externalLogin.js

我的 Tiapp.xml 按照说明进行了配置

<ios>
        <plist>
            <dict>
                <key>CFBundleURLTypes</key>
                <array>
                    <dict>
                        <key>CFBundleURLName</key>
                        <string>my.org</string>
                        <!-- Application ID same as the id value in the tiapp.xml file -->
                        <string>my.application.id</string>
                        <key>CFBundleURLSchemes</key>
                        <array>
                            <!-- Prefix the Facebook App ID with 'fb' -->
                            <string>my.org</string>
                            <string>fb(my.facebook.app.id)</string>
                        </array>
                    </dict>
                </array>
                <key>FacebookAppID</key>
                <!-- Facebook App ID -->
                <string>(my.facebook.app.id)</string>
                <key>FacebookDisplayName</key>
                <!-- Facebook App Name from developer.facebook.com -->
                <string>my.org</string>
                <key>LSApplicationQueriesSchemes</key>
                <array>
                    <string>fbapi</string>
                    <string>fb-messenger-api</string>
                    <string>fbauth2</string>
                    <string>fbshareextension</string>
                </array>

            </dict>
        </plist>
    </ios>
    <modules>
        <module platform="iphone">ti.map</module>
        <module platform="iphone">facebook</module>
        <module platform="commonjs">ti.cloud</module>
    </modules>
    <deployment-targets>
        <target device="iphone">true</target>
    </deployment-targets>
    <sdk-version>5.2.0.GA</sdk-version> 

我的合金 View 文件看起来像

<Alloy>
    <!-- UI Layout for Eventful page -->
    <Window id="social" class="container" navBarHidden="false" size="Ti.UI.FILL" title="" navTintColor="white"  backButtonTitle="Event" barColor="black" onOpen="login">
        <View backgroundColor="black" >
            <LoginButton id="fbLogin" module="facebook" top="1%" height="7%" permissions="user_events"/>
        </View>
    </Window>
</Alloy>

我的 Controller .js 文件看起来像

var fb = require('facebook');
fb.readPermissions = ['read_stream','email','user_events'];
fb.appid = (my.facebook.app.id);
fb.forceDialogAuth = true;

function login (evt) {

    fb.addEventListener('login', function(e) {
    if (e.success) {
        alert('Logged in');
    }
    });

    fb.addEventListener('logout', function(e) {
        alert('Logged out');
    });

};

我按预期获得了 Facebook 登录按钮 但是当我点击它时,我只是收到一条错误消息: 未登录:您尚未登录。请登录后重试。

我从来没有看到输入用户名和密码的屏幕 FB Login Button Error

环境是 Appcelerator Studio,构建:4.5.0 钛SDK 5.2.0.GA 装有 iOS 9.2 的 iPhone 6 Sim/硬件

最佳答案

我遇到了同样的问题并解决了在设备中安装完整的 Facebook 应用程序的问题。

关于facebook - 如何使用 Module.Facebook 和钛合金登录 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785738/

相关文章:

javascript - 多个 HTTP 客户端请求不存储 session 数据

iOS 后台服务第一次没有运行

responsive-design - 使用 Appcelerator Titanium 框架进行响应式 UI 设计

php - 当用户分享到 Facebook 的链接时更新数据库

javascript - facebook页面选项卡申请请求

facebook - 寻找 page_stories_by_story_type 和 page_consumptions_by_consumption_type 的类型详细信息

ios - 如何修复 "couldn' t 为架构找到模块 : ti. cloudpush:armv7"(Appcelerator Titanium)

Facebook 点赞按钮 (<fb :like>) Height Always 80px

javascript - 在 Javascript 中检索函数特定变量

JavaScript - 字典为空