从iPhone到Mac编程

时间:2010-01-14 05:49:53

标签: iphone macos

我查看了网站以确保这不是重复的。如果我错过了什么,请道歉。

我已经进行了大约一年的iPhone开发,我对Objective-C,Xcode和Cocoa(至少在iPhone上使用的内容)感到满意,但OS X的编程似乎更为复杂。 / p>

像我这样的人有哪些好的免费资源?我见过的大部分内容都是关于学习Objective-C和Cocoa,我真的想进入我不熟悉的IB部分,以及在OS X上不重要的任何其他重要部分。

3 个答案:

答案 0 :(得分:6)

虽然iPhone开发环境并不是Mac的一个子集,但由于有一些改进的和iPhone特定的位,它几乎是如此(它主要是好位)。因此,Mac可能是最容易从iPhone迁移的平台。

在Mac上,您将特别想了解Cocoa Bindings,它可以用于很多现代UI工作,但尚未打电话。

解决您的具体问题,一些备受推崇的免费Mac编码资源包括:

  • Apple运行的规范cocoa-dev mailing list(不幸的是,它只有Apple实施的糟糕的网络访问,并且由于不可靠的第三方努力而偶尔增加,通过从一个实际订阅它来使其最有用你的电子邮件的记录)
  • CocoaDev wiki
  • Rogue Amoeba的Mike Ash在blog
  • 上有一个非常有用的Q& A Fridays系列
  • 来自Aaron Hillegass的高级Mac编程书,Advanced Mac OS X Programming
  • 虽然Apple的文档现在相当不错,但在旧的“描述即将到来”的日子里,我们很多人都学会了Mac OS X如何从信誉良好的软件公司发布的开源代码中找到,例如你Omni's frameworks可以自由地嵌入到您的应用程序中,或者来自
  • 的cherrypick代码

(嗯,我通常不会在这里发帖,所以我被禁止超链接上面的引用...我可以把它们作为文本吗?呃,不行!嗯,总有谷歌,我猜。)

答案 1 :(得分:3)

谢天谢地,桌面上的Cocoa和Cocoa Touch非常相似。我建议只从Apple的网站下载一些初学者示例代码。既然你已经了解了Objective-C / Cocoa,那么你应该可以很容易地学习。如果某些部分令人困惑,您可以浏览Apple的指南。

相同的事情:

  • 设计模式(目标/行动,代表,数据来源,第一响应者等)
  • 目标C
  • Interface Builder

不同的事情:

  • 控件只能有一个目标和操作。在iPhone上,你可以有一个目标/动作用于内部修饰,外部修饰等。在Mac上,只有一个。
  • 用于加载xib的NSWindowController(概念上类似于UIViewController)

编辑:总的来说,主要的不同是iPhone有更多“预建”的UI类(UINavigationController,UITabBarController等),你可以在你的应用程序中使用它,使它看起来漂亮和漂亮(最重要的是,与Apple一致)应用程序)。

答案 2 :(得分:3)

我开始使用Mac OS开发并进入iPhone开发。您可能已经了解了有关API如何工作的核心概念。我看到开发人员从iPhone过渡到Mac的最大问题是使用Mac用户期望他们的应用程序工作的所有微妙方式。像处理Page Up和Page Down键来滚动你的视图(Tweetie的耻辱,因为不支持这个)。或者处理多个窗口。或多种显示尺寸(并确保不要将窗口放在屏幕外)。

对于技术编程问题,Apple自己的文档是最好的起点。对于Mac OS设计的细微差别和正确的做法,据我所知,没有一本书或网站有所有答案。主要来自于使用Apple Design Award获奖者的应用程序并模仿他们所做的事情。