0

アプリケーションにログインするための画面を持つアプリケーションを開発しました。メイン ページに現在のユーザーの詳細を表示する必要があります。初めてアプリにログインするときにうまく機能します。しかし、エラーが発生します。ログアウト後に再度サインインしようとすると、続行する前にサインインまたはサインアップする必要があります。同じコードの Android OS では問題ありません

これがサンプルコードです。

var win = Ti.UI.createWindow({
    backgroundColor : '#520000'
});

var btnLogin = Ti.UI.createButton({

    title   : 'Login',
    top     : '20%',
    width   : '50%'
});
var Cloud = require('ti.cloud');

win.add(btnLogin);
win.open();

btnLogin.addEventListener('click', Login);

function Login(){

    Cloud.Users.login({
        login: 'anand@gmail.com',
        password: 'anandt'
    }, function (e) {
        if (e.success) {
            var user = e.users[0];  
            var mainWin = Ti.UI.createWindow({
                backgroundColor : '#005200',
                url             : 'logout.js'
            });

            mainWin.open();

        } else {
            alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
        }
});
}

アプリケーションのメインページ

var Cloud = require('ti.cloud');

var logoutWin = Ti.UI.currentWindow;

var btnLogout = Ti.UI.createButton({    
    title   : 'Logout',
    top     : '20%',
    width   : '50%'
});

logoutWin.add(btnLogout);
logoutWin.addEventListener('open', function(){
    Cloud.Users.showMe(function (e) {
        if (e.success) {
            var user = e.users[0];
            alert('user is ' + 'first name: ' + user.first_name + ' ' + 'last name: ' + user.last_name);
        } else {
            alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });
});
btnLogout.addEventListener('click', Logout);


function Logout()
{
    Cloud.Users.logout(function (e) {
        if (e.success) {
            logoutWin.close();
        } else {
            alert('Error: ' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });
}

これは、ユーザーがログアウトせずに初めてログインした後に表示される画面です

これは、ユーザーがログアウトせずに初めてログインした後に表示される画面です

これは、ユーザーが 1 回以上ログアウトして (アプリを再起動せずに) ログインした後に表示される画面です。 これは、ユーザーが 1 回以上ログアウトして (アプリを再起動せずに) ログインした後に表示される画面です。

どんな助けでも大歓迎です

4

1 に答える 1

1

Loading up the window with a URL is causing the session ID to get mangled between the contexts. Don't use URLs.

于 2012-10-31T13:30:50.977 に答える