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

时间:2009-06-25 00:30:08

标签: iphone ruby sinatra

  

可能重复:
  How can I develop for iPhone using a Windows development machine?

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

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

这是我的想法:

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

要在iPhone上访问该应用程序:

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

这似乎是一种奇怪的方法,但我想不出一种在不购买Mac的情况下编写独立iPhone应用程序的简单方法。有没有更好的方法呢?

10 个答案:

答案 0 :(得分:7)

我能找到的唯一可靠信息是始终优秀的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作为最便宜的“入境口岸”。

答案 1 :(得分:2)

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

您不需要Mac,只需要越狱手机以确保您的应用能够正常运行。

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

此外,如果您正在阅读使用开放式工具链的指南,那么我非常推荐this book

答案 2 :(得分:2)

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

越狱操作系统并在其上运行一个红宝石应用程序在技术上会很酷,不要误会我的意思 - 我只是认为它最终会成为时间的下沉。

只是我的2c!

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

让其他人这样做,或租用您需要的资源。

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

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

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

答案 5 :(得分:1)

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

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

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

答案 6 :(得分:1)

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

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

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

请查看iPhone applications in Python以获取更多信息。

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

您的妻子是否注册了任何类型的数据计划?如果是这样,您只需编写一个小型webapp,它可以在一些便宜的网站空间上运行,并通过MobileSafari访问它。

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