今天终于通过 BT 的方式下完了 iPhone SDK beta3。安装过程中发现几点仍在使用 PowerPC Mac 的开发人员需要注意的地方:

  • 已有多个网站报道虽然 Apple 官方申明 iPhone SDK 只能用于使用 Intel 处理器的 Mac 上,而且 SDK 安装包在 PowerPC Mac 上默认会跳过 iPhone SDK 的安装,但是你可以使用 Pacifist 安装之。然而这些报道都忽略了一点:iPhone SDK 可被安装至任何路径之下,只要安装完成后的文件夹内部结构不被改动即可,所以用 Pacifist 安装的话,安装路径为 ./ ,即启动磁盘的根目录,这样就全乱套了。本人在此感谢 iPhoneAtlas相应文章中留下评论的 gigeamircearaul 提供的解决方案:
    1. 用 Disk Utility 将 iPhone SDK.dmg 转换为可读写格式。
    2. 打开转换好的 R/W dmg。
    3. 你可能需要删除一些文件,因为镜像几乎完全填满了。我选择了删除镜像根目录中的 PDF 文件
    4. 修改 /Volumes/iPhone SDK/iPhone SDK.mpkg/Contents/iPhoneSDK.dist :

      - Line 71 (in function agreedToSLA() ) - modify “return false;” to “return true;”

      - Line 81 ( in function SDKPresent() ) - modify “return false;” to “return true;”
    5. 这样之后,你就可直接使用安装包安装 iPhone SDK 而无须使用 Pacifist 了。

  • 如想在 iPhone Simulator 中使用 pinching 的话,你只需在使用鼠标左键或触摸板的同时按下 Option。
    ( /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app )
Posted in Apple, Develope, Leopard, Tip at April 23rd, 2008. No Comments.

由于本文较长,所以在此先给出本文相应的 PDF 以供下载。

于去年 10 月 26 日上市的 Mac OS X 10.5 ( a.k.a Leopard )中加强了对 Ruby on Rails、Python、Perl 等 Scripting 语言的官方支持1、更新的 Scripting Bridge ( 这一项使得开发人员可以用上述编程语言编写原生 Mac 程序)以及丰富的全新或改进了的框架 ( AppleScript 2.0, Core Animation, PubSub, PDF Kit, ImageKit, QT Kit, Quartz 2D, Core Image, Core Data…the list will go on for about a couple of miles ! ^o^)。相信所有这些将会吸引越来越多的开发人员迁移至 Mac 平台,更何况 Apple 提供的开发工具是完全免费的,购买 Mac 随机附带的系统安装盘上就有。而这决不是猜测,大家只需查下去年 WWDC 上教主公布的 Apple Developer Connection 的注册会员数就知道了。将来这样的开发人员与 Interface Builder 打交道的机会决不会少。

鉴于国内有关 Mac 开发的文档不足,而且大多数人都认为开发人员的英语水平都还过得去,阅读技术文档不会有多少障碍。但我个人认为还是阅读用自己母语写的文档更容易,也更亲切。所以我决定自己动手丰衣足食。

Interface Builder 3 icon今天先从相对而言较简单的 Interface Builder,简而言之,开发人员将用此工具设计程序的图形用户界面的大部分。之所以说是大部分是因为图形用户界面还可用代码定义,在特殊情况下需要借助代码完成图形用户界面的设计。下面为该工具的图标,左侧为 Interface Builder 3.0 所采用的新图标,右侧为 3.0 以前版本所用图标。大家可以明显看到新图标更为细腻,通常 Apple 将这一点用于指示程序在较大程度上的改进。那 Interface Builder 为像你我一样的业余爱好者或是专业开发人员带来了哪些功能上的改进和新功能呢?Let’s find out, shall we ?!

Interface Builder 2 icon
Read More…

Posted in Apple, Develope, Leopard at January 29th, 2008. No Comments.

上一篇文章中介绍了 Mail 程序模板制作的相关信息,但未能及时提供将制作好的模板添加至用 Mail 程序新建邮件时显示的模板列表中的相关信息。那么今天这篇文章的目的即是补充此信息。

上一篇文章中曾提到 Apple 所提供的模板均被放在 /Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources 。你可以通过在 Finder 中用常用方法浏览至上述文件夹,此外你还可通过使用如下两种更为便捷的方法:

  • 使用位于 前往 (Go) 菜单 下的 前往文件夹… (Go to Folder…) 命令,在随即出现的表单中输入上述路径。
  • 在浏览器的路径栏中输入 file:///Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources ,回车,这样 Finder 也会自动打开一个窗口并显示相应文件夹。

到达上述文件夹后,你将看到 5 个文件夹和一个 TableOfContents.plist。后者的作用在于定义模板列表中显示的 分类 (Categories),你应该是可以自行手动加入额外的分类,但是目前不建议这样做,因为本人这样做过之后,模板列表中分类 就只以中文显示了。

而那 5 个文件夹则对应于 5 个分类。接着前往 **你所选的分类**/Contents/Resources,这里同样有一个 TableOfContents.plist,所不同的是这个文件在此的作用是定义模板列表中你所选的分类下显示的模板。

要把你制作的模板加入列,你所需做的是按照这两个文件中的范例所用的格式相应地添加即可。其他所需操作已在上一篇文章中介绍,在此不再赘述。

Posted in Apple, Design, Leopard, Tutorial at January 22nd, 2008. No Comments.

原文见:How to Create/Edit Your Own Mail.app Stationery - The Apple Blog

Leopard 中 Mail 的诸多新功能之一是它附带了许多邮件模板,你可以轻松地从中依需取用, 装点你的电子邮件。
从大体上说,这些模板只不过是老式 HTML,外加些许 XML。 所以,编辑或制作你自己的模板的仅有要求是你懂得一点 HTML 的相关知识。如果你是完全制作自己的模板,一定的设计功底将对你很有帮助。

我个人并非 HTML 格式电子邮件的狂热爱好者,但是在某些场合使用将令人满意。于是,我决定深入钻研,摸清楚这项功能在 Mail.app 中具体是怎样运作的。令人意外的是要编辑或制作你自己的模板其实非常简单。
接下来是一篇较为深入的指导你编辑附带模板或制作自己的模板的教程。

概览

每个模板设计最终只不过是一个结构有序的包装有 HTML 和图像文件的文件夹而已。只要你知道如何在 Finder 中穿行,以及使用关联菜单即可。

通过以下步骤,你将能够编辑附带的 Apple 设计的模板或从零开始制作自己的模板。在本教程中,我们将从零开始设计一个新信纸。我建议下载教程文件,将其用作参考。

文件夹结构

以防一你不知道,当你打开应用程序(Application)文件夹,双击图标开启一个程序时,你实际上双击的是一种文件夹(这类文件夹的名称带有 .app 扩展名)。如果你选中一个程序,并右击(对单键鼠标而言,用 control 加左键单击),在出现的关联菜单中你会看到“显示包内容”。点击这个选项,你将看到包裹(例如,一个程序)的内部,实际上几个文件和文件夹组成了一个包裹。在编辑或制作模板时,我们将用到这一点。

  1. 要获得附带的模板,你需要浏览至如下路径:
    /Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources/
  2. 一旦你浏览至 Resources 文件夹,你将注意到很少的其他几个文件夹,这些最终将构成可供选择的模板分类之一。本教程中,我们将制作“家庭信函”模板,我选择将它放至 ‘Announcements’ 文件夹中。
  3. 继续前进,穿过几个子文件夹( /Contents/Resources/ )。你将注意到一系列的模板。每个模板均以“模板名.mailstationery”的格式命名。
  4. 新建一个文件夹,将其命名未 Family Newsletter.mailstationery 。在你如此新建文件夹后,你可以注意到它的图标立即变得和其他模板包裹一样了。

制作模板

再次重申,不要被所需穿越的文件夹数量吓倒了。

那么,让我们在多穿过几个文件夹。Control - 左键单击你之前新建的 Family Newsletter.mailstationery,选择“显示包内容”。你需要新建两级子文件夹,最终达到如下路径:

Family Newsletter.mailstationery/Contents/Resources/

我们需要在 Resources 文件夹内创建几个核心文件和文件夹:

  • Description.plist最终用于将其他文件和文件夹组合成模板。本文稍后将介绍其内容。
  • /English.lproj/DisplayName.strings“English.lproj” 是你要创建的文件夹的名称。这类文件夹用于存放相应的本地化文件。Mac OS X 中程序的本地化文件同样存放于类似文件夹内。简体中文相应的是 “zh_CN.lproj”,繁体中文相应的是 “zh_TW.lproj”。

    DisplayName.strings 用于定义在 Mail.app 模板列表中模板的显示名称。

  • content.html这是模板中的HTML文件,至少其中大部分内容是HTML。
HTML 文件

在我们继续前进之前,需要阐明的是电子邮件模板中用到的 HTML 仍处于其黑暗时期。事实上,某些公司实际是在走倒退的道路。所以,对苛求标准的你们,这里谈及的 HTML 将让你畏缩。

在本文末尾有个链接,用它你可以下载到这部分所需的文件。我不会在文章中发布HTML文件的全部内容,但我将给出小段代码,这部分代码可能对你来说是全新的,同时也有一部分是 Mail.app 模板所独有的。

  • contenteditablecontenteditable 是一个用于标记内容可编辑的区域的 HTML 属性。下面是个使用示例:

    [code lang='html']This is some boring text[/code]

  • AppleCompositeImage如果你希望能够在写邮件时向模板中加入自选的图像,并将它们限定在一定区域中,那么你需要使用 AppleCompositeImage 。 下面是个使用示例:

    [code lang='html'][/code]

    这将成为 “拖放区”。src 属性将与稍后介绍的代码相搭配而起作用。

  • apple-content-name我并不是完全确定 apple-content-name 属性是作何用的。我的猜想是它在你切换模板时起作用。利用它能在一定程度上保证切换模板时你的文本完整无缺。 下面是个使用示例:

    [code lang='html']Our Vacation[/code]

以上基本上介绍完了非常规 HTML 标记的部分。到此,我建议下载文章末尾的链接至的文件,打开 content.html 浏览代码。

DisplayName.strings

如我之前所说,这是一个你应该创建并命名为 DisplayName.strings 的文件。这个文件真的很直白,它所做的是告诉 Mail.app 应该如何显示你的模板的名称。它只需包含如下内容:

"Display Name" = "Family Newsletter";
Description.plist

Description.plist 可能是整个过程中最复杂的部分了。我不建议完全自行输入此文件的内容。我的建议是下载本文附带的文件,将其中 Description.plist 的内容复制/粘贴至你新建的相应文件。

Description.plist 仅仅是一个用于控制你的模板的某些设置的 XML 文件。

[code lang='xml']Background Images[/code]

这部分应包含所用要在 HTML 文件中用作背景的图像。

Example:
[code lang='xml']Background Images

content_bg.png
header_bg.png
[/code]

[code lang='xml']Composite Images[/code]

Composite Images 代码用于设置动态图像点,这些图像点让你拖放自选的图片。
下面是个使用示例:
[code lang='xml']Composite Images

Base Image
banner.png
Composite Name
Photos
Masks

Drop Zone Angle
0
Drop Zone Offset

0
0

Drop Zone Size

496
186

File Name
mask.png
Placeholder Image
placeholder.jpg

Overlay Image
shadow.png

[/code]
现在稍作解释:

  1. Base Image
    base image 将被用作拖放区的背景。它是拖放区无图片时所显示的内容。
  2. Composite Name
    这是你将在你的 HTML 的 src 属性的内容。此处被命名为了 “Photos.”
  3. Masks
    蒙版区负责处理拖放入的图像。更多细节见下文。 

    1. Drop Zone Angle
      如果你希望 “拖放区” (你可拖放图片的区域) 略微倾斜, 你可以改变这一数值。
    2. Drop Zone Offset
      裁剪蒙版区时将会依照此处设定的 X、Y 两个坐标对蒙版位置进行精确微调。
    3. Drop Zone Size
      这里定义的是可保证拖放操作有效的拖放图像并松开鼠标时,鼠标所处范围之大小。
    4. File Name
      用作蒙版的图像的名称。你必需制作一个带有黑色区域的图像,这块区域将控制你拖放的图像的显露。
    5. Placeholder Image
      此图像将作为拖放区的默认显示图像,直至你拖放了其它图像为止。
    6. Overlay Image
      如果你想在所拖放的图像上覆盖一些锦上添花的装饰(内投影之类) ,那么你只需在此加上这些装饰性图像的名称。

下面是同一文件中另一段需要解释的代码:
[code lang='xml']Folder Name
Family Newsletter.mailstationery
HTML File
content.html
Images

header.png
bottom.png

Stationery ID
52CF436E-68DA-4842-A638-2B912C5F7361
Thumbnail Image
thumbnail.png[/code]

  1. Folder Name
    你所制作的模板,即 .mailstationery 文件的名称。
  2. HTML File
    包含模板 HTML 内容的文件的名称。
  3. Image
    类似于之前介绍的 Background Images ,这应设置为 HTML 文件中所用图像的列表。
  4. Stationery ID
    据我所知,ID 可以是任何你想用的一串字符。只要这串字符具有唯一性即可。然而建议最好不要这样选 ID,较为妥当的做法是在 Terminal 中使用 Leopard 添加的命令 uuidgen,使用此命令创建的字符串被称为 “Universally Unique ID” ,这样的字符串可保证其独特性。
  5. Thumbnail Image
    一张尺寸为 69 × 90 px 的你所制作或编辑的模板之缩略式预览图。这将被用于 Mail 中的模板列表中。

总结之

相信所有这些是需要一定的阅读和“消化”, 并且它们看起来很复杂。下载教程文件、多钻研钻研。另外多去研究一下由 Apple 设计的模板,看看它们都使用了什么样的代码。试着编辑一些预置的模板(动手编辑前可别忘了备份噢 ! ),这样你可以对各段代码的作用有切身体会,随后你就可以着手制作自己的模板了。几经尝试及出错,你将能很快地掌握模板的制作。

免责声明

本人在自己的 Mac 上使用过并仍在使用以上所有代码。 The Apple Blog 和 Cocoatacious 对任何由于修改此类文件所造成的后果不负责任。虽然本人实在无法想像本教程所涉及操作能造成任何实际损失……但此免责声明仍旧如此。

点击 此处 下载教程文件

另外附上我用 Pages 排版后导出制作的本文相应的PDF。希望作为读者的你喜欢!

相关文章推荐:

Posted in Apple, Design, Leopard at January 18th, 2008. No Comments.

2008年已至,本人决定给本博客换个新面孔,但由于本人在网页设计方面尚属初学者水平,今天刚把 CSS: The Missing Manual 看完。同时也是因为近期写文章时,发现本博客之前使用的来自 iLemoned 主题 Dark 有些不合适:

  • 有时文章中会有一些代码,且每行代码均较长,dark 的三栏式设计就会导致超出部分被遮住。
  • 发布代码时若使用 code 这个标签则会在发表的文章中多出一些无用的代码
  • 主题的色调有些偏暗,个人觉得会给人带来阴郁的感觉

除此之外,dark 这个主题还是很不错,只不过不太适合用于本博客而已。

鉴于以上几点,今天本博客起用来自 Hello Wiki 的主题:Hello :D

Hello :D Official Screenshot

  • Hello :D 的两栏式设计是的页面中有足够的空间用于显示代码
  • 同时主题中还包括一个目前所有 WordPress 主题中都少见的 print.css, 这个样式列表的作用是指导浏览器打印你的网页。
  • 另外,整个主题显得很大气,色调适中。

点击此处下载我修改后的版本:hello-d-modified.zip 。我所做的修改主要集中在 print.css,修正了原模板打印时会连侧边栏、评论表单一起打印的问题、同时略为调整了一下特定链接在打印出的文稿中的显示方式。
Read More…

Posted in Design, Leopard, WordPress, 杂谈 at January 10th, 2008. No Comments.