将iOS(iPhone)应用程序移植到mac?

有没有一个首选的方法去做这件事?

这个应用程序不是太大。 。 。 我在几个月的时间里写的单人游戏。

编辑:我应该补充一点,我没有经验与mac开发。 。 。 除了作为iOS开发者的自然之外。

编辑:在游戏中大量使用的类:NSObject,UIView和UIViewController的子类。 我不太了解NSView,但我很确定所有UIView的东西都可以在这个类中使用。 还有一些使用UITableViewController。 我也有Game Center,但现在我可以放弃这部分。 没有多点触摸。

编辑:我的graphics是在QuartzCore和CoreGraphics框架中的所有东西。 我有一个适度的视图层次结构。

编辑:如果你正在做这样的端口,你可能也有兴趣在内存pipe理的问题

  1. 没有简单的方法。 就这么简单。 令人沮丧的是,你只需要善于编程Mac。

  2. “我很确定所有UIView的东西都能在这个类中工作” – 不幸的是,没有。 一切都不一样,你必须努力工作。

这不是一个有趣的演出。 确保你真的认为这在经济上是值得的。

除此之外,如果您在iOS应用程序中堆叠了大量视图,请注意“兄弟视图不适用于OSX”问题。 从本质上讲,如果您依赖手机上的视图的嵌套层次结构,则必须更改为在Mac上使用图层(而不是简单的视图)!

点击这个链接: 是否有一个正确的方法来处理重叠的NSView兄弟姐妹? 对于那个特殊问题的血腥细节!

http://chameleonproject.org/从Iconfactory Mac的UIKit值得一试。

“变色龙是一项正在进行中的工作,该框架目前在工作九个月后实现了约60%的UIKit。”

https://github.com/BigZaphod/Chameleon

你可能会有很多工作要做。 虽然纯粹的algorithm类将无任何改变地移植,但任何涉及UIKit的东西都可能需要重写或严格适应。 OSX上的UI类devise模式是视图之间的关系,您的代码负责pipe理控制器; 而在iOS上,这是视图控制器之间的一种关系,视图pipe理是隐含的。

当然,正如BoltClock所说,你有交互的问题。 由于触摸不再有效,所以即使在开始移植之前,您也可能需要先处理交互模型。

有一个开源(BSD)的UMEKit库,可以帮助移植一些UI类,但是你可能不得不重写相当数量的UI,以更好地处理鼠标/键盘/多窗口/菜单GUI环境。 基本的NSObjects,以及一些Open GL和Quartzgraphics渲染,可能只有轻微的触摸操作。

正如其他人所说,移植可能是一件苦差事。 一般的技术工作,虽然。 您可以重新deviseInterface Builder中的界面(在适用情况下),并检查不同的控件的调用方式(CocoaTouch只有一小部分典型的桌面控件)。 UI *通常成为NS *。 Tableview代表团是相似的,所以它可能会很容易。

我必须像往常一样推荐Aaron Hillegass的书。 这是对Mac开发的一个很好的介绍,并且知道iOS开发给你一个优势。

既然是游戏,你可能需要考虑如何做全屏模式。 游戏不一定占用整个屏幕,你不应该强迫它。 现在需要一整套新的偏好。 当然,现在有一些“乐趣”涉及有新的方式来处理雪豹的解决scheme列表/更改(以前的方式给你弃用警告)。

只要接受,将有一个可能漫长的过渡期,直到一切“点击”:)