PhoneGapベースのアプリケーションを作成し、このリンクからダウンロードしたものと同じコードを含めました:Database.comを利用したPhoneGapモバイルアプリケーションの構築
アプリを実行すると、ログイン画面が表示されます。スクリーンショットは次のとおりです。
ログインボタンをクリックしても何も起こらないので、同じページにいます。私はすでに次のsalesforceWrapper.js
ように自分のコシューマーキーをファイルに含めています:
function SalesforceWrapper() {
/* AUTHENTICATION PARAMETERS */
this.loginUrl = 'https://login.salesforce.com/';
this.clientId = 'sadsadasdadadasdasdasdsadasdas.dsddsd_sdsds.dsdsdsdsdsds';
this.redirectUri = 'https://login.salesforce.com/services/oauth2/success';
/* CLASS VARIABLES */
this.cb = ChildBrowser.install(); //ChildBrowser in PhoneGap
this.client = new forcetk.Client(this.clientId, this.loginUrl); //forceTk client instance
this.init();
}
salesforeceログインページにリダイレクトできないのはなぜですか?コンソール出力は次のとおりです。
2012-06-25 16:20:53.023 J[2396:13403] Opening Url : https://login.salesforce.com/services/oauth2/authorize?display=touch&response_type=token&client_id=sadsadasdadadasdasdasdsadasdas.dsddsd_sdsds.dsdsdsdsdsds&redirect_uri=https%3A//login.salesforce.com/services/oauth2/success
2012-06-25 16:20:53.024 J[2396:13403] *** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> Application tried to present modally an active controller <MainViewController: 0x9a67dc0>.
2012-06-25 16:20:53.034 J[2396:13403] ERROR whitelist rejection: url='https://login.salesforce.com/services/oauth2/authorize?display=touch&response_type=token&client_id=sadsadasdadadasdasdasdsadasdas.dsddsd_sdsds.dsdsdsdsdsds&redirect_uri=https%3A//login.salesforce.com/services/oauth2/success'
ChildBrowserCommandフィールドとChildBrowserフィールドをCordova.plistに追加しました。
Index.htmlページにスクリプトファイルのパスを含めました。
<script type="text/javascript" charset="utf-8" src="ChildBrowser.js"></script>
これが私のXcodeプロジェクトのスクリーンショットです:
CDVPlugin
参照の問題を解決し、WebKit discarded an uncaught exception
問題が発生しました。どうすればこれを解決できますか?
Crodova.plistのExternalHostsにパラメーターを追加することで解決しました。