【问题标题】:Meteor xcode project created with 'meteor build' vs. project created with 'meteor run ios-device'使用“meteor build”创建的 Meteor xcode 项目与使用“meteor run ios-device”创建的项目
【发布时间】:2015-08-22 00:24:23
【问题描述】:

当您运行以下两个命令时,我有一个关于 Meteor (IOS) xcode 项目的构建过程中的任何差异的具体问题:

meteor run ios-device --mobile-server 10.0.1.16:3000 --settings settings.json

对比

meteor build /mobile-build --server 10.0.1.16:3000 --mobile-settings settings.json

两者都创建了一个 xcode 项目,然后我可以在我的 iphone 上运行它,但是使用 build 命令创建的项目与使用“run”命令创建的项目的行为不同。

我基本上有一个测试项目,我试图让 Braintree 插入式 UI 在流星/科尔多瓦页面中工作。这需要一个命名容器(插入式)并通过 Braintree.js 脚本注入控件,以便绕过在您自己的服务器上托管敏感的支付信息。

当使用“meteor run”命令(这会启动 xcode 并且我选择目标 + 点击播放)时,它可以在我的物理 iPhone 设备上正常工作,但实际上是在创建一个构建(上面的命令 #2 ) 然后运行完全相同的代码,显示注入控件的页面部分不会加载任何内容。两个 xcode 项目/代码在 IOS 模拟器中都可以正常工作,所以它只是在我遇到问题的物理 iphone 设备上。

我最初认为这可能与访问规则有关,但是在使用“流星运行”时相同的代码可以正常工作的事实让我认为在运行构建时项目被编译成 xcode 的方式有所不同命令。

在模拟器和实体手机上运行“非工作”xcode 项目时,我在 xcode 中检查了控制台,但输出是相同的。除了注入的 HTML 之外的所有其他内容都显示正常,它实际上只是没有出现的控件。

任何指针将不胜感激。

大卫

【问题讨论】:

    标签: iphone xcode cordova meteor braintree


    【解决方案1】:

    您可能会遇到由 javascript 文件串联引起的问题。

    1) 和 2) 之间的唯一区别是 2) 中的文件是在生产模式下构建的,并且是缩小和连接的。

    您的代码中可能有错误,该错误出现在应用 1) 和 2) 上。

    问题是当应用程序连接时,错误可能会停止进一步代码的执行。采取以下方式

    var x={}; x.run(); alert("GO");
    

    由于中途错误,警报永远不会触发。

    很遗憾,我无法确定您的错误来自何处。您必须使用远程检查器(例如 Safari 上的远程检查器)来识别它的来源。

    【讨论】:

    • 感谢您的指点。我一直在做进一步的测试,并设法让它在模数上起作用。我也回去并在 localhost 上重新尝试过,奇怪的是它现在似乎正在工作。很奇怪,但我怀疑最可能的原因是语法问题。
    猜你喜欢
    • 2021-06-13
    • 2016-05-05
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    相关资源
    最近更新 更多