开发没有Mac的iPhone应用程序?

可能重复:
如何使用Windows开发机器为iPhone开发?

我正在为我妻子的手机构建一个iPhone应用程序,但我不想购买Mac作为一次性工作的开发平台。 该应用程序:

  • 应该在iPhone上独立运行(即没有网络连接)
  • 使用其中一个iPhone Javascript库创建的GUI是完全可以接受的
  • 将执行一些数据库IO来读取和更新数据
  • 没有商业价值,任何人都不会使用

这是我的想法:

  • 越狱iPhone
  • 在iPhone上安装Ruby + Sinatra
  • 使用Sinatra编写应用程序,在iPhone上访问数据库(SQLite?)

要访问iPhone上的应用程序:

  • 在后台启动Sinatra应用程序(这可能吗?)
  • 启动Safari浏览器会话
  • 导航到Sinatra应用程序,例如http:// localhost:12345
  • 等等

这似乎是一种奇怪的方法,但我想不出一种更简单的方法来编写独立的iPhone应用程序而无需购买Mac。 有更好的方法吗?

我能找到的唯一可靠信息是始终优秀的MetaFilter

http://ask.metafilter.com/110466/Anyway-to-develop-iPhoneiTouch-apps-without-investing-in-a-Mac

答案显然是否定的。

您绝对需要一些描述的Intel Mac。

整个iPhone构建过程在XCode中根深蒂固,无法在其他地方构建; 我知道的唯一其他Objective-C编译器是gcc,它不支持Apple对该语言的任何添加(也不支持它们的库)。

并且,与上述人们的说法直接相反,Objective-C绝对是我最喜欢的本地编译语言。 优雅,小巧(只有C的一些变化),后期绑定,动态,直白。 这就是C ++本来应该做的。

很多人建议选择二手英特尔(记住,必须是英特尔!)Mac Mini作为最便宜的“入门口”。

你所描述的是一个可行的解决方案,但是你应该考虑使用iphone的开放式工具链。

你不需要Mac,只需要越狱手机以确保你的应用程序能够正常工作。

对于那些说不能做的人,这是在SDK出来之前为iPhone制作应用程序的唯一方法:)

另外,如果您正在阅读使用开放式工具链的指南,那么我非常推荐这本书

如果您正在考虑使用javascript库创建GUI,为什么不编写Web应用程序而不是iPhone本机应用程序? 为了能够在其上安装ruby + sinatra Web应用程序,将设备越狱似乎有些过分。 难道你不能把ruby web应用程序放在服务器上并在主屏幕上创建一个Safari快捷方式吗? 如果您没有服务器,您可以随时在家中的PC上运行该网站…

越狱操作系统并在其上运行一个ruby应用程序在技术上会很酷,不要误会我的意思 – 我只是觉得它最终会成为一个时间沉沦。

只是我的2c!

我想,取决于你的时间价值。 这似乎是一种非常复杂的方式来获得手机上的简单应用,以避免400美元购买二手Mac Mini。

有一个hackintosh路由,它可以在你现有的硬件上运行,但是还必须按时付出代价。 这就是让我开始在Macbook Pro上投下大硬币之前的事情,一个MSI Wind然后是一个自制的。 它的合法性是值得怀疑的(无论如何,正确的做法是为Leopard分配129美元以上),但你已经在谈论越狱了。 🙂

让别人去做,或租用你需要的资源。

另一个选择是找到附近的iPhone开发人员,让他们全部设置并让他编写应用程序或一起完成它,他提供了编写解决方案或编码的开发环境。

唯一的问题是你无法更新维护它。

我仍然会考虑使用旧版Mac或Mac mini – 所有其他选项听起来更复杂。

如果你对不使用mac很顽固,但你想要一个可以与iPhone / iPod Touch和Android设备脱机工作的应用程序,那么我会使用HTML 5创建一个离线应用程序。

你现在可以用HTML 5做很多事情 – 谷歌有一个电子邮件客户端,现在可以在iPhone上使用HTML 5,它可以脱机工作等等。如果你这样做并让用户在你的应用程序的主屏幕上添加书签 – 它几乎一样好。

如果我是你,我会掏出一个Mac – 或者看看你是否可以借用一个 – 或者与某人分享时间 – 如果没有它你就不会创造一个质量非常好的应用程序。

你可以越狱手机并安装Python。 Cydia中有一些示例应用程序(它叫做iPhone / Python。在cydia中搜索Python)。

那么你将拥有一个“原生”应用程序,而不是一个Web应用程序,你可以使用整个iPhone UI库(无论如何都可以通过py-objc访问它的部分),你不需要运行一个Web服务器背景。

您可以通过SSH在手机上进行开发,也可以使用iPod Touch进行开发。 打包也很简单(如果需要),只需创建自己的Cydia存储库并在其中托管您的软件包。

查看Python中的iPhone应用程序以获取更多信息。

来吧,看看eBay上你能找到的最便宜的intel mac mini。 即使是带有破坏屏幕的Mac笔记本电脑(你可以挂在外部显示器上)也能正常工作。 你可能只谈了几百美元,然后你可以保持它,因为她的手机/触摸升级了。

您可以在网页中放置一些特殊的元标记,以使您的网络应用程序可以保存并完全可以浏览iphone硬盘。 (所以它可以离线工作)这是一个例子: http : //mrgan.tumblr.com/post/125490362/glyphboard2

还有像phonegap这样的框架可以让你从javascript访问cocoa apis,但听起来你不需要它。

您的妻子是否参加了任何类型的数据计划? 如果是这样,您可以简单地编写一个小型webapp,它运行在一些廉价的网站空间上,并通过MobileSafari访问它。

如果你需要一个完整的iPhone应用程序,你最好在eBay上看一个基于英特尔的mac minis,在我看来应该是昂贵的。 作为一个优点,你可以避免越狱的麻烦。