每次meteor build
,我都要打开XCode并执行以下操作:
如何编辑Meteor项目以自动完成这些步骤,并自动将内容添加到AndroidManifest.xml
?
以某种方式使用mobile-config.js
或cordova-build-override
?
答案 0 :(得分:3)
我很高兴看到另一个人正在尝试使用Meteor /扩展Meteor Cordova iOS应用程序来构建混合应用程序,因为我面临着同样的问题。所以我很高兴与您分享我的经验和方法。 : - )
到目前为止,我最终采用了以下方法:
我使用meteor build为我的iOS应用程序创建了一个基本模板(不是meteor run ios-device,因为我不知道Meteor是否对生产代码做了一些优化)。
然后,我将/ platforms / ios下的整个Xcode项目复制到另一个loaction,并将这个新项目用作我的" master"项目从那时起。该项目正在使用本机代码进行丰富,例如:它还包括我需要的Cocoa Pod。
当然,我也不想每次触发新的Meteor构建时都要复制文件。至少,我想更新Staging / www文件夹,因为这种情况经常发生。
所以我的第一个(相当幼稚)的方法是
这种方法不起作用,因为Meteor Xcode项目中使用的shell脚本无法处理这些链接。
我的第二种方法是在文件系统级别创建一个符号链接。这样可以正常工作,并且我能够在Xcode中构建项目。
我可以对Cordova插件文件夹采用相同的方法,但是我已经决定手动更换插件以便更好地控制它们,即使这意味着更多的努力。
使用符号链接也意味着Xcode的版本管理(以及我用于所有内容的SVN)将忽略Staging / www下面的所有内容,这在我看来很好,因为我在这里已经在Meteor项目中对webapp代码进行版本控制。
BTW:我已经在Meteor论坛上开始了关于混合移动应用程序的讨论主题,但到目前为止它没有得到太多的吸引力:https://forums.meteor.com/t/building-a-hybrid-meteor-cordova-app-share-experiences/8212
也许我们可以跟进Meteor特定的事情,让Meteor社区参与讨论?
编辑:我也想分享一种彻底失败的方法,至少对我而言,也许我太笨了......在我使用Meteor的Xcode模板作为起点之前,我也试过了#34;反之亦然,即我从已经存在的Xcode应用程序项目开始,并尝试手工包含Meteor&s / Cordova的部分内容。使用这种方法,我从来没有设法正确设置一切。我遇到了很多麻烦,还需要调整很多编译器/链接器标志才能获得代码编译。这让我变成了很多白发。但即使在我设法将所有内容编译完成后,Meteor仍会在启动期间挂起 - 我从来没有弄明白为什么。我仍然面临的一个问题是,Meteor的热门代码推送功能似乎在iOS上存在一些严重问题,这些问题也被记录为GitHub问题。可能会发生iOS应用程序完全损坏并需要重新安装。我尝试了mdg:reload-on-resume软件包,但是它没有按预期工作,使事情变得更糟。据我所知,从GitHub的讨论中,最好禁用热代码推送,直到Meteor团队解决了这些问题。由于代码推送而完全打破应用程序并不是我的用户所期望的。
答案 1 :(得分:0)
不幸的是plist值(也可以说是AndroidManifest.xml)只能通过插件来改变: