Meteor测试/部署iOS应用程序以连接真实服务器(而非本地主机)

Meteor test/deploy iOS app to connect with real server (not localhost)

本文关键字:主机 服务器 真实 部署 测试 iOS 应用程序 连接 Meteor      更新时间:2023-09-26

我有一个流星应用程序,我一直在iOS手机上测试。我最初部署的应用程序如下(基于本指南):

meteor install-sdk ios    
meteor add-platform ios
meteor run ios
meteor run ios-device

然而,这只是使用本地版本,托管在http://localhost:3000上。因此,我一直在阅读关于如何部署到特定服务器的文章,研究了许多关于该主题的不同指导网站。由此看来,我应该简单地运行以下内容,其中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/*"/>,但这并没有解决问题。

然后,我在一个名为mobile-config.js的文件中将以下内容添加到我的流星项目的根目录中,该文件基于这个示例

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屏幕是流星默认值,而不是我的自定义图标/飞溅屏幕(它们在resources/econs/...pngresources/splash/...png的根文件夹中,所以编译过程可能忽略了mobile-config.js?中的所有内容

因此,问题归结为"如何使用实时服务器运行此iOS应用程序?"

您可以构建应用程序以连接到生产服务器

meteor build /tmp/example-build --server=http://example.com

然后将其加载到您的设备上。