流星可以与PhoneGap一起使用吗?


Answers:


39

是的,这是可能的,但不能通过将流星应用程序打包在手机上来实现​​。您必须将phonegap指向流星服务器(您仍然可以使用API​​来访问设备上的功能)。以下是说明:

  • https://github.com/phonegap/phonegap上获取phonegap 2.2。*的最新副本(2.1版存在一个错误,阻止了该技术的工作)
  • 使用以下说明创建您的phonegap项目并将流星服务器域名列入白名单:http ://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html
  • 对于iOS,找到并打开CordovaLib / Classes / CDVViewController.m并在第175行周围,用appURL = [NSURL URLWithString:@“ http://your-server.com”]覆盖appURL。

而已。编译并运行该应用程序。

节省时间的夫妇:

  • 您可以通过将www /目录内容复制到流星服务器根目录中来开始设置流星目录。确保将JavaScript文件复制到client /目录下,以便在主流星js文件之前加载它们。
  • 从主流星js文件运行app.initialize(window),如果未传递window参数,则该应用程序将崩溃。
  • 不要尝试在Xcode的www /目录下设置流星服务器。您将无法部署到设备,因为.meteor子目录包含指向节点模块的符号链接。

8
谢谢!但是我没有改变ViewController。我只是改变了config.xml,以<content src="http://127.0.0.1:3000/" />作为这就是财产这就是被默认的视图控制器设置为appURL。
nooitaf


7

好吧,我想最好的起点是弄清楚你想要/需要走多远。

你想要

  • 一个Meteor.js PhoneGap应用程序可以连接到某处的服务器吗?然后,您可能想在PhoneGap项目中使用Meteor类,并使用Meteor.connect(url)连接到服务器。

  • 脱机应用程序数据的持久性-这将变得艰难...这不是Meteor设计的目的,尽管肯定有一些方法
    可以实现。我记得有关骨干,脊椎和
    其他客户端JS框架的讨论。使用本地存储很容易,但是当您要在本地和服务器之间同步数据时,真正的工作就开始了。

这应该有助于切入点...


4

我在某种程度上粗略地做了,这里遵循的过程是:

  • 以待办事项为例
  • 创建一个待办事项包 meteor bundle ../todos.tgz
  • 提取捆绑软件在编辑器中打开提取的捆绑软件
  • 在static_cacheable /文件夹中打开.js文件并设置其格式,然后将“ file://”请求中的ajax调用替换为实际的主机请求。
  • 我在1766行中执行了此操作,该行创建了ajax处理程序

    u.protoype._start = function(a, d, e, f){
        d = d.replace("file://localhost","http://localhost:3000");
        ...
    }

之后,在浏览器中打开app.html文件,并确保服务器已在运行。这样,您将使大多数应用程序正常工作。

但是,这不是您想在实际应用程序中使用它的方式,而是通过进行更多更改,可以将Phonegap中的客户端与运行在其他位置的服务器一起使用。

编辑

流星有一个方法connect连接到另一个流星应用程序,它可以解决上述url替换调用,尽管我还没有尝试过。


我在static_cacheable / *。js文件中没有看到任何“ file://”字符串。我尝试编辑app.html中的css和脚本行以使用完全限定的服务器URL(“ myapp.meteor.com/xxxx.js ”而不是“ /.xxxx.js”),但这只会导致白屏在Phone Gap应用中。Phone Gap在本地提供app.html,如何修改js以指向服务器?
mb。

您不会直接找到它,它是方法的参数_start()。检查_start()创建XHR对象的方法定义,并将url参数替换为目标域。
dhaval 2012年

4

这是使用PhoneGap在移动设备上移植Meteor应用程序的简单步骤,请使用PhoneGap在移动设备上移植Meteor

只需将您stream_clientbf90.js的端口更改为您的domain.it即可。


2
欢迎使用Stack Overflow!感谢您发布答案!请务必仔细阅读有关自我促销常见问题解答。还请注意,每次链接到您自己的站点/产品,您都必须发布免责声明。
Andrew Barber 2012年

2
随着Meteor的变化日新月异,此博客文章似乎已过时。帖子中提到的文件在我的项目中不存在
Micha Roon 2013年

2

这是关于phonegap + meteorjs + oauth2的现场演示。
我在Google Play上用流星创建了这个应用程序。
https://play.google.com/store/apps/details?id=com.youiest.tapmatrix&hl=zh_CN
这是私人作品,因此无法公开源代码。
请随时提问。
我尝试过多种方法来处理流星+ phonegap。
谢谢。


这也有流星服务器的推送通知。
nicolsondsouza 2013年

您是如何获得推送通知的?您是否查看过任何示例或文档?
adairdavid 2014年

有流星推送通知可在android中轻松使用,对于ios则很难。
nicolsondsouza

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.