【问题标题】:How can you permanently change iOS app configuration in Meteor Cordova?如何在 Meteor Cordova 中永久更改 iOS 应用程序配置?
【发布时间】:2015-10-24 08:33:33
【问题描述】:

每次meteor build,我都必须打开 XCode 并执行以下操作:

  • 从“Link Binary With Libraries”(Facebook SDK)中删除和添加项目
  • 添加 URL 类型(我的应用的自定义 URL 方案)
  • 在“自定义 iOS 目标属性”中添加“必需的设备功能”

如何编辑我的 Meteor 项目以自动完成这些步骤,并自动将内容添加到 AndroidManifest.xml

以某种方式使用mobile-config.jscordova-build-override

【问题讨论】:

    标签: ios cordova meteor meteor-cordova


    【解决方案1】:

    我很高兴看到另一个人正在尝试使用 Meteor 构建混合应用程序/扩展 Meteor Cordova iOS 应用程序,因为我面临着同样的问题。所以我很高兴与大家分享我的经验和方法。 :-)

    到目前为止,我最终采用了以下方法:

    1. 我使用流星构建为我的 iOS 应用程序创建了一个基本模板(不是流星运行 ios-device,因为我不知道 Meteor 是否对生产代码进行了一些优化)。

    2. 然后,我将 /platforms/ios 下的整个 Xcode 项目复制到另一个位置,并从此将这个新项目用作我的“主”项目。该项目正在丰富本机代码,例如它还包括我需要的可可豆荚。

    3. 当然,我也不想每次触发新的 Meteor 构建时都复制文件。至少,我希望更新 Staging/www 文件夹,因为这种情况经常发生。

    所以我的第一个(相当幼稚的)方法是

    • 删除主项目中的 Staging/www 文件夹
    • 将其替换为指向 .meteor/local/.../ios/ 项目中的 Staging/www 文件夹的相对链接(使用 Xcode 的链接功能)

    这种方法不起作用,因为 Meteor Xcode 项目中使用的 shell 脚本无法处理这些链接。

    我的第二种方法是在文件系统级别创建符号链接。这可以正常工作,并且我可以在 Xcode 中按应有的方式构建项目。

    我本可以对 Cordova 插件文件夹采用相同的方法,但我决定手动替换插件以便更好地控制它们,即使这意味着更多的努力。

    拥有符号链接还意味着 Xcode 的版本管理(以及我用于所有内容的 SVN)将忽略 Staging/www 下的所有内容,这在我看来很好,因为我已经在版本中控制 webapp 代码Meteor 项目本身。

    顺便说一句:我也在 Meteor 论坛上发起了一个关于混合移动应用程序的讨论帖,但到目前为止还没有引起太大的吸引力:

    https://forums.meteor.com/t/building-a-hybrid-meteor-cordova-app-share-experiences/8212

    也许我们可以在那里跟进 Meteor 特定的事情,让 Meteor 社区参与讨论?

    编辑:我也想分享一个完全失败的方法,至少对我来说,也许我太笨了......在我使用 Meteor 的 Xcode 模板作为起点之前,我也尝试过“反过来",即我从我已经存在的 Xcode 应用程序项目开始,并尝试手动包含 Meteor 的 / Cordova 的部分。使用这种方法,我从未设法正确设置所有内容。我遇到了很多麻烦,还不得不调整很多编译器/链接器标志,甚至可以编译代码。这让我长出了很多白发。但即使在我设法编译完所有内容后,Meteor 在启动期间仍然挂起 - 我一直不明白为什么。

    我仍然面临的一个问题是 Meteor 的热代码推送功能在 iOS 上似乎存在一些严重问题,这些问题也被记录为 GitHub 问题。 iOS应用程序可能会完全损坏并需要重新安装。我尝试了 mdg:reload-on-resume 包,但这并没有按预期工作,并且使事情变得更糟。据我从 GitHub 讨论中得知,最好在 Meteor 团队解决这些问题之前禁用热代码推送。由于代码推送而完全破坏应用程序并不是我的用户所期望的。

    【讨论】:

      【解决方案2】:

      不幸的是 plist 值(可能还有 AndroidManifest.xml)只能由插件更改:

      Add entry to iOS .plist file via Cordova config.xml

      【讨论】:

        猜你喜欢
        • 2015-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多