Meteor/Cordova/Phonegap iOS应用在部署到生产环境后无法工作

3

我一直在尝试运行一个Meteor/Cordova/Phonegap iOS应用程序。我正在遵循此处提供的文档:https://github.com/meteor/meteor/wiki/Meteor-Cordova-Phonegap-integration

为了简化事情,我只是测试示例leaderboard meteor项目。当我按照上面链接中提到的步骤进行操作时,我可以在iOS模拟器和通过xcode直接在设备上运行应用程序,使用以下任意一条命令都没有问题:

meteor run ios

或者

meteor run ios-device --mobile-port 10.0.1.2:3000 -p 10.0.1.2:3000

为了测试生产环境,我直接将应用程序部署到meteor.com

meteor deploy [my-app-name]

按照构建说明,我在构建命令中指定了远程服务器的主机和端口:

meteor build ../buildfolder -p [my-app-name].meteor.com:80

当我通过生成的xcode项目(在模拟器中)尝试运行该应用程序时,当应用程序启动时,我什么也看不到,只有一个空白的白屏。Xcode记录器中没有错误,但输出如下:
16:01:41.583 [CDVTimer][file] 6.641030ms
16:01:41.607 [CDVTimer][statusbar] 23.925006ms
16:01:41.607 [CDVTimer][TotalPluginStartup] 30.839026ms
16:01:41.709 Resetting plugins due to page load.
16:01:41.739 Finished load of: (snip)
16:01:41.791 Starting the server on port 40539
16:01:41.792 Setting document root: <snip>
16:01:41.792 Started httpd on port 40539
16:01:41:792 staffutility[49019:607] HTTPServer: Started HTTP server on port 40539
16:01:41.792 addresses: {
    "en1/ipv4" = "10.0.1.12";
    "en1/ipv6" = "fe80::7ec3:a1ff:fea4:49c5";
    "lo0/ipv4" = "127.0.0.1";
    "lo0/ipv6" = "fe80::1";
    "vboxnet0/ipv4" = "192.168.56.1";
}
16:01:41.794 Resetting plugins due to page load.
注意: 我也尝试使用Meteor Up在我自己的EC2实例上部署meteor项目https://github.com/arunoda/meteor-up,但结果完全相同。iOS应用程序只会停留在一个空白的白屏界面。(通过浏览器访问URL正常工作) 有什么想法是什么问题吗?
3个回答

2

因为声望不够,所以不能发表评论,只能发布答案。

我也遇到了相同的问题,但是我唯一能让它工作的方法是手动在Xcode中更改主机:端口。构建后,在xcode中打开项目,转到staging>www>index.html。

在以下块中,删除端口号使应用程序再次工作。

__meteor_runtime_config__ = {"meteorRelease":"METEOR@0.9.3.1",
"ROOT_URL":"http://[my-app-name].meteor.com",
"ROOT_URL_PATH_PREFIX":"",
"DDP_DEFAULT_CONNECTION_URL":"http://[my-app-name].meteor.com",
"autoupdateVersionCordova":"426a072de258af04658e2585485c277b8aac18a3"};

我不完全明白为什么,但我尝试在部署到meteor.com后通过console.log检查我的应用程序的端口号。似乎在部署后,端口号是随机的。

我期待着有人对如何无需包含端口号进行部署提供更多帮助。


更新到Meteor 0.9.4后,我需要使用此修复程序才能使Google登录正常工作。 - Jeff Tilson

2

进入您的主目录(不是应用程序目录)

$HOME/ rm -rf.meteor

重新运行应用程序。

尝试过这个方法,删除了/.meteor目录,但结果仍然一样,只有一个白屏。请问删除/.meteor目录有什么作用? - Jeff Tilson

0

看起来在更新到Meteor 0.9.4之后(显然包含了改进的Cordova/Phonegap支持),我的问题已经得到解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接