从iPhone到Mac?

时间:2009-02-07 19:54:26

标签: iphone macos

注意:这与大多数类似问题的方向相反!

我有一个iPhone应用程序,我想在Mac上提供演示。将iPhone应用程序重新编译(或重写)到Mac应用程序有多难,假设我打算保持相同的屏幕尺寸,而不用担心让我的应用程序看起来像“像mac”一样?

是否有可能在iPhone SDK中分发iPhone模拟器apple提供的应用程序副本?要求人们自己安装它似乎是一个主要要求。

3 个答案:

答案 0 :(得分:5)

总的来说,大多数“核心”框架也出现在Mac上。作为thimb的规则,任何启动NS的类都将出现在桌面上 - NSString,NSArray和NSObject等。这有望意味着您的所有引擎代码都将重新编译并运行。

一些中间件也是如此 - 所有的iPhone Quartz都将出现 - 开始CG的类和类型......如果使用3D,桌面上有OpenGL,但它是完整的OpenGL,而不是iPhone的OpenGL ES。虽然存在一些差异,但您的代码很容易移植。

您肯定需要重新编码的是UI。不仅因为AppKit不存在,而且因为iPhone所需的UI设计通常无法在桌面上运行。 iPhone支持多点触控,没有(有意义的)重叠窗口。同样,如果您使用iPhone的任何硬件,则必须重新实现 - 加速度计和GPS显然无法在桌面上使用。在这两种情况下,经验法则是启动UI的类...是特定于iPhone的。

如果您在编写应用程序时遵循Apple的MVC设计指南,那么将保持UI相关代码与引擎代码完全分离,并且移植应该更容易。

答案 1 :(得分:4)

首先,您无法分发iPhone模拟器。这是不可能的。 iPhone SDK协议声明:

  

您同意不会在任何网站或服务器上出租,租借,出借,上传或托管,全部或部分出售,再分发或再许可SDK,或允许其他人这样做。

您可以在Mac版本中使用程序的某些部分,但您可能需要重写与UI相关的代码。

答案 2 :(得分:2)

如果您的应用主要是OpenGL或自定义视图,可能根本不太难。如果您的应用程序使用大量UIKit视图,那么您需要重写一下以使用Mac标准Cocoa视图。它们完全不同。