Cocoa China 苹果开发中文站

苹果Mac OS X开发 iPhone开发 Cocoa以及Cocoa Touch

推荐使用Safari浏览器阅读本站

源码例子

Google的开源苹果软件更新框架

Google放出了一个新的基于苹果系统的开源软件更新框架,叫做Update Engine。这个框架的主要功能是帮助苹果软件的开发者来实现软件的自动更新机制,Google自己的工具也将使用这个Update Engine来进行自动更新。

在此之前,大家最常用的软件自动更新库是Sparkle,Update Engine并非与其竞争,而是为了解决不同的问题而出现。

Update Engine功能很强,几乎可以自动更新任何软件,包括Cocoa程序,屏保,系统预置工具,甚至还可以更新内核扩展,常用文件以及权限为root的程序等。

Update Engine的独特性体现于以下几点:

  • 几乎可以更新任何产品:Cocoa程序、系统预置、内核扩展等
  • 可以更新不基于Bundle的程序,如命令行工具、普通文件等
  • 可以同时更新多个产品
  • 基于单一框架结构

另外,Google还提供了两个视频:

有兴趣的朋友可以试试。 下载地址在这里

  • 无评论
  • 子分类: 源码例子
  • 支持Cocoa的ActiveRecord

    如果你对Ruby On Rails有一点了解的话,一定会知道ActiveRecord的大名。ActiveRecord对于存取数据库的操作简单到飞起,开发者再也不用去考虑麻烦的SQL查询,而是把记录当做对象来用就是了。

    Ruby On Rails热,ActiveRecord自然也就有人学着做,各种版本各种语言模仿ActiveRecord的到处都是,如果你的数据库程序没用上ActiveRecord,都不好意思出门……

    苹果疯子们自然不甘示弱,有人也写了一个Objective-C版的ActiveRecord。

    点击这里阅读全文 »

    两个Objective-C的收发Email代码

    前些天有读者提出需要在iPhone中开发Email的程序。在iPhone的SDK中除了使用mailto的方式发送邮件之外暂时还没有其他更好的方法。

    这里介绍两个基于Objective-C的Open Source的Email代码,理论上来说经过微小的修改就可以用于iPhone中,不过需要注意的是请注意这两个代码的授权方式。

    点击这里阅读全文 »

    使NSImage支持在图片上添加倒影效果

    Mac上一直比较流行的图片设计思路是在一个图片上面增加一个倒影,使其看起来的感觉像是放在一个透明的桌子上。最流行的就是iTunes中的CoverFlow。这个思路后来也被众多的Web 2.0公司的Logo设计者们普遍使用。

    NSImage Reflection这段小代码是NSImage的category,专门用来在图片上添加倒影。你可以直接用它在图片上添加倒影效果。

    代码可以在这里下载,用法也非常简单:

    因为这个代码扩展了NSImage,所以要在某个NSImage图片上添加倒影,只需要使用[NSImage reflectedImage: amountReflected:]方法就可以了。很容易看明白,reflectedImage参数直接带上一个NSImage图片,amountReflected参数则是倒影的深度,用浮点数表示。

    另外,代码使用了CTGradient类,如果你只想在Leopard中使用,也可以改改代码,直接使用NSGradient就可以了。

    最全的获取苹果机器硬件类型的方法

    下面的方法可以将 sysctl hw.model 获取的苹果电脑硬件型号转换为容易看懂的形式。

    1 复制下面的代码,将其保存为Macintosh.dict:

     

    点击这里阅读全文 »

    Cocoa开关组件

    如果你用过TimeMachine,你一定知道里面有一个开关组件,可以划动进行开关操作。这个组件也提供了同样的功能。同样需要作者另外的一个amber framework框架的支持,并且只能运行在Leopard上。

    组件下载地址在这里

  • 无评论
  • 子分类: 源码例子
  • iLife 08风格的Source List代码

     这是一个完全iLife 08风格的Source List代码,支持bindings。


    下载地址在这里。作者是Keith Du。由于需要作者另外的一个amber framework框架的支持,因此这个组件只能运行在Leopard上。

  • 无评论
  • 子分类: 源码例子
  • Cocoa矢量图程序开发包

    GCDrawKit是一款非常强大的矢量图程序开发包,有了它的帮助,你可以轻松用Cocoa开发出类似Illustrator或者Freehand这种矢量工具,当然,处理简单的图形工作也不在话下。

    点击这里阅读全文 »

    将字符转换为键盘码的代码

    以下这段代码可以将字符串转换为键盘码,以备需要时用到。

    1. - (int)keyCodeForCharacter: (NSString*)character {
    2.     if(![character length]) return -1;
    3.    
    4.     char code;
    5.     BOOL shift, alt;
    6.     if(Ascii2Virtual( (char)[character characterAtIndex: 0], &shift, &alt, &code)) {
    7.         return code;
    8.     }
    9.     return -1;
    10. }

    点击这里阅读全文 »

    方便实现逻辑功能的代码

    通常我们可以使用NSPredicate来进行逻辑计算,不过一般来说代码都很长。

    比如考虑,要实现如下逻辑:(A or B) but not (A and B) 需要用很长的一堆代码来实现:

    1. NSPredicate *xor = [NSCompoundPredicate andPredicateWithSubpredicates:
    2.    [NSArray arrayWithObjects:
    3.       [NSCompoundPredicate orPredicateWithSubpredicates:
    4.          [NSArray arrayWithObjects: a, b, nil]
    5.       ],
    6.       [NSCompoundPredicate notPredicateWithSubpredicate:
    7.          [NSCompoundPredicate andPredicateWithSubpredicates:
    8.             [NSArray arrayWithObjects: a, b, nil]
    9.          ]
    10.       ],
    11.       nil
    12.    ]
    13. ];

    不过如果用了本文介绍的方法,就会简单地变成下面的代码:

    点击这里阅读全文 »

    Cocoa的Zip归档读写框架

    介绍一个zip读写框架:zip-framework。这个框架支持直接在程序中读写zip归档中的文件,而无需使用NSTask去执行命令行的unzip。

    Cocoa并没有提供读写zip的功能(有GZIP: /usr/include/zlib.h,但是很有局限性),这个zip框架很好地实现了这一功能。这个框架使用Objective-C写成,因此可以非常方便地在程序中调用。理论上来讲也完全可以用于iPhone(如果谁有兴趣可以试一下)。

    点击这里阅读全文 »

    超酷的开源Cocoa类浏览工具: CocoaNav

    介绍一个非常酷的工具,主要用于浏览Cocoa中的类及方法,这个工具叫做CocoaNav。

    它的主要功能类似于CocoaBrowser,虽然后者很早就停止了更新,并且无法在XCode 2.1之后的版本中正常工作了。

    说这个工具酷,主要是它的UI。下面的一些截图可以让你对这个工具有一点大致的了解。

    CocoaNav主要用RubyCocoa写成,使用了很多Core Animation特效,使它看起来更Leopard。

    点击这里阅读全文 »

    开源Cocoa电子表格控件MBTableGrid

    介绍一个开源的Cocoa电子表格控件MBTableGrid:这是一个基于NSControl的类,用于开发电子表格程序。

    这个控件支持行列渲染以及拖拽等功能,如果你准备开发类似的苹果软件,那么你一定要看一下这个代码。另外一个好处是这个控件的文档写的很详细清楚,便于开发者更好的利用。

    点击这里阅读全文 »

    最新讨论