Sencha Touch 2 如何在 Windows 上构建 iOS 应用程序?

Posted

技术标签:

【中文标题】Sencha Touch 2 如何在 Windows 上构建 iOS 应用程序?【英文标题】:How does Sencha Touch 2 build iOS apps on Windows? 【发布时间】:2012-03-20 00:57:13 【问题描述】:

我在技术层面上对此感到疑惑。我了解到 ios 应用程序只能在 Mac OS X 上构建,因为您需要与 Mac OS X 和 XCode 捆绑在一起的工具链。

那么有谁知道 Sencha 的应用程序构建器如何也可以在 Windows 上构建本机应用程序?以前怎么没有人做过?

【问题讨论】:

我很确定他们不是第一个为 Windows 制作 iPhone SDK 的人。例如,Adobe 在某些时候使用 Flash 做到了这一点 这不是你应该在这里问的那种问题... @EmilioPelaez 我看过“X 是如何工作的?”之前被问到的问题。投票有点苛刻。 【参考方案1】:

(此信息未深入了解 Sencha 的打包机制)

.app 文件代表bundle,它本质上是一个包含一些文件和.plist 属性文件的文件夹。该包还包含一个可执行文件,在 Sencha 的情况下,它可能总是相同的。此可执行文件的唯一目的是启动 UIWebView 以显示您的应用程序的主视图。除此之外,您使用 Sencha 进行的所有编程都是标准的 Web 编程。此应用程序的本机 API 访问可能使用基于 URL 的巧妙技巧 (just like PhoneGap):

基本上,PhoneGap 通过拦截 URL 请求来工作 在视图中加载的 UIWebView。 PhoneGapAppDelegate 实现UIWebViewDelegate协议检测拦截 更改 UIWebView 的 document.location。一旦被拦截, PhoneGap 询问请求以确定如何处理它。

由于需要零编译,因此不需要 XCode 编译器。我能想到的唯一需要 Mac 的过程是创建捆绑包code signature。同样,如果不深入 Sencha Tools 的内部,这个过程可能已经被逆向工程了。

【讨论】:

PhoneGap 应用程序是具有嵌入式 UIWebView 的本机应用程序。我了解 PhoneGap 应用程序中的 JS 如何访问本机 API,但 PhoneGap 仍然需要 Mac OS X 为 iOS 构建您的应用程序(因为它仍然是本机应用程序)。煎茶似乎没有。 从这个论坛的帖子来看,他们确实在使用他们的自定义代码签名库:sencha.com/forum/…

以上是关于Sencha Touch 2 如何在 Windows 上构建 iOS 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Sencha Touch 2如何清理资源

如何在 Sencha Touch 2 中使用 Sqlite

如何在 Sencha-Touch2.0 的地图中获取当前位置的标记

如何在 Sencha Touch 中使用数据库? [关闭]

如何在 Sencha touch 2.1 中创建复杂的数据项?

如何在 Sencha Touch 2.0 中清除 cookie