Meteor
、mupx
およびROOT_URL
環境変数を使用したかなり複雑なケースに直面しています。
私は Facebook ログインで React を使用して meteor-1.2.1 アプリに取り組んでいます。アプリ コード内で ROOT_URL グローバル変数を設定すると、ローカル開発でも .NET でも問題なく動作しmeteor run ios/android
ます。
次に、アプリを Digital Ocean サーバーにデプロイし、Digital Ocean サーバーをmupx
ポイントして iOS および Android 用のビルドを作成しmeteor build ./build --server=http://xxxxxx.com
ます。Web ブラウザーでは問題なく動作しますが、iTunes または AppStore を介してアプリを iOS にインストールした後、スプラッシュ画面の直後にアプリが白い画面で停止しますが、最初の起動時のみです。繰り返しますが、これはアプリのインストール直後に1 回だけ発生します。アプリを閉じて再度開くと、正しく読み込まれ、正常に動作し続けます。同じことが Android デバイスでも発生しています。
ここに私のファイルがあります:
**** settings.json ****
{
"rootUrl": "http://xxxxxx.com",
"facebook": {
"appId": "xxxxxxxxxxxxxxxxxxxxx",
"secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"loginStyle": "redirect"
},
}
**** mup.json ****
{
"servers": [
{
"host": "xxxxxx.com", // actual server
"username": "user",
"pem": "~/.ssh/pem.key",
"env": {}
}
],
"env": {
"PORT": 80,
"ROOT_URL": "http://xxxxxx.com"
},
"setupMongo": true,
"setupNode": true,
"nodeVersion": "0.10.40", // "0.10.43" for meteor-1.3
"setupPhantom": true,
"enableUploadProgressBar": true,
"appName": "xxxxxx",
"app": "../../app",
"deployCheckWaitTime": 60
}
**** lib/_global.js ****
ROOT_URL = Meteor.settings.rootUrl;
**** server/accounts.js ****
ServiceConfiguration.configurations.upsert(
{ service: "facebook" },
{
$set: {
appId: Meteor.settings.facebook.appId,
secret: Meteor.settings.facebook.secret,
loginStyle: Meteor.settings.facebook.loginStyle
}
}
);
この場合、問題を見つけるのがかなり難しいことはわかっていますが、 、または のいずれかに関係しているとMeteor
思いROOT_URL
ますmupx
。ROOT_URL
変数が原因で実際に問題が発生していることをデバッグして確認するのに非常に長い時間がかかりました。
PS: アプリ コード内でこのグローバル変数を設定する理由をお尋ねになるでしょう。これaccounts-facebook
は、ログインに成功した後に適切にリダイレクトされず、空白の Facebook 画面でハングするためです。Meteor - Facebook の承認がうまくいかない
アプリ内コードから ROOT_URL を削除すると、白い画面の問題はなくなりますが、Facebook ログインが正しくリダイレクトされません。Facebook が で正しくセットアップされていると仮定しましょうDeauthorize Callback URL = http://xxxxxx.com/_oauth/facebook
。
PPS: アプリもアップデートしてみmeteor v1.3-rc.13
ました。同じこと。
どんな助けでも大歓迎です。