我有一个 meteor 应用程序,我一直在 iOS 手机上测试它。我最初使用以下内容部署了应用程序(基于 this guide ):
meteor install-sdk ios
meteor add-platform ios
meteor run ios
meteor run ios-device
但是,这只是使用本地版本,托管在 http://localhost:3000
上.所以我一直在阅读 how to deploy to a specific server , 检查 number的 different使用说明 sites关于这个话题。由此看来,我应该简单地运行以下命令,其中 http://example.com
是服务器位置:
meteor run ios-device --mobile-server http://example.com
但是,应用程序仍在本地服务器上运行。在config.xml
以下两行彼此相邻:
<access origin="http://meteor.local/*"/>
<access origin="*://example.com/*"/>
所以我尝试删除 <access origin="http://meteor.local/*"/>
,但这并没有解决它。
然后我将以下内容添加到我的 meteor 项目的根目录中一个名为 mobile-config.js
的文件中, 基于 this example ,
App.info({
name: 'Example',
description: 'An iOS app built with Meteor',
version: '0.0.1',
author: 'Me',
website: 'http://example.com/'
});
App.icons({
// iOS
'iphone': 'resources/icons/icon-60.png',
'iphone_2x': 'resources/icons/icon-60@2x.png',
'ipad': 'resources/icons/icon-76.png',
'ipad_2x': 'resources/icons/icon-76@2x.png'
});
App.launchScreens({
// iOS
'iphone': 'resources/splash/Default~iphone.png',
'iphone_2x': 'resources/splash/Default~iphone.png',
'iphone5': 'resources/splash/Default-568h@2x~iphone.png',
'ipad_portrait': 'resources/splash/Default-Portrait~ipad.png',
'ipad_portrait_2x': 'resources/splash/Default-Portrait~ipad.png',
'ipad_landscape': 'resources/splash/Default-Landscape~ipad.png',
'ipad_landscape_2x': 'resources/splash/Default-Landscape@2x~ipad.png'
});
App.accessRule('example.com/*')
应用程序编译,但它仍在本地主机上运行。此外,应用程序图标和 spash 屏幕是 meteor 默认值,而不是我的自定义图标/启动屏幕(位于 resources/econs/...png
和 resources/splash/...png
的根文件夹中,因此编译过程可能忽略了 mobile-config.js
中的所有内容?
所以问题归结为“如何使用实时服务器运行此 iOS 应用程序?”
最佳答案
您可以构建您的应用以连接到生产服务器
meteor build/tmp/example-build --server=http://example.com
在那之后将其加载到您的设备上。
关于javascript - Meteor 测试/部署 iOS 应用程序以连接真实服务器(不是本地主机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36185546/