【发布时间】:2012-03-20 09:04:43
【问题描述】:
短版:
我注意到最近更新的mtouch(目前对我来说是 5.2.5)有一些新的命令行选项 - 特别是 --launchdev,这让我非常满意,还有--argument,我想不出来出来怎么用。 --argument 是做什么的?我可以在启动应用程序时使用它来将数据传递到应用程序吗?如果是这样,这些数据去到哪里,我如何获得它?
我在做什么的详细解释:
我有一个用于 MonoTouch 库的自动化测试环境。为了让它真正实现自动化,我需要能够 1) 在设备上自动启动它,以及 2) 向它提供首先启动它的构建服务器的 IP 地址,以便它知道该给谁完成时再谈。
目前,我发现将数据分流到 iOS 应用程序的唯一方法是通过自定义 URL 方案。巧合的是,这也是我必须在设备上自动启动应用程序的唯一方法,而不是简单地安装它。因此,我的构建脚本将构建测试应用程序,安装它,使用测试应用程序所需的数据调用自定义 URL 方案编写 Xcode 项目,并背诵正确的 AppleScript 咒语以在设备上启动 Xcode 项目。 Xcode 项目将启动,并立即使用我的测试应用程序的自定义 URL 方案和所需数据调用 openUrl(...),触发测试应用程序的启动,它将运行测试、报告结果并关闭。
如果通过--launchdev 和--argument 的某种组合,我可以消除上述疯狂的一大块——尤其是AppleScript,它非常脆弱和不可靠,我会非常高兴。
到目前为止,我还没有想出如何在代码中使用--argument 的值。 launchOptions 字典是 null 有或没有它,而传递给 Main 的 args 消失在 UIApplicationMain 的内部,并且再也没有听到过,据我所知 - 这无关紧要,因为它们总是空的。那么,我可以使用--argument 来传递数据吗?如果是这样,我如何在应用程序中检索数据?
【问题讨论】:
标签: c# .net ios xamarin.ios command-line-arguments