【问题标题】:Is there any documentation for building Xcode 4 plugins?是否有构建 Xcode 4 插件的文档?
【发布时间】:2012-09-10 18:07:54
【问题描述】:

最近我注意到github 上的几个项目通过插件扩展了 Xcode 4 的功能。

@olemoritz 的两个项目作为示例:

这两个项目都安装在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 中,Xcode 只是将它们拾取。

是否有任何关于扩展 Xcode 的文档来源(官方的或用户生成的)?

编辑: ping @olemortiz ;)

【问题讨论】:

  • AFAIK 没有。我猜@olemoritz 只是从 XCode 可执行文件本身中转储了一些东西,并找出了 IDEKit 的一部分(如果不是全部)。但真正的问题是……你为什么要标记这个问题ios
  • 我们可以编辑这个问题标题,使其成为 Xcode Plug 的概括(我们现在在 Xcode 7..)?

标签: ios xcode cocoa xcode4


【解决方案1】:

当我写你提到的那些插件时,这里有一些指针:

  • 没有来自 Apple 的官方文档,所以虽然 Xcode 确实有一个插件基础设施,但它是完全私有的 API。 (但是,嘿,没有人愿意向 App Store 提交 Xcode 插件,对吧?;)) – 通常的警告适用:您应该非常防御性地编码,并且 Xcode 更新可能会破坏事情。任何插件都可以完全关闭 Xcode,所以要小心。

  • 似乎放弃了记录插件接口here的工作。

  • 有一些开源项目可让您查看加载插件所需的内容,例如我的,还有CLITool-Infoplist(我想这是我从那里得到基本结构的,但我不记得了,因为我已经有一段时间没有发布任何东西了)。

  • 您可以使用class-dump 从 Xcode 的私有框架生成标头,例如IDEKit 和 IDEFoundation(在Xcode.app/Contents/Frameworks)。阅读这些内容可以让您了解很多关于 Xcode 内部结构的信息。 DVTKit 和 DVTFoundation(在 Xcode.app/Contents/SharedFrameworks 中)对于类转储也很有用。

  • 您可以通过为nil 注册观察者来观察在 Xcode 中发送的所有通知。最初,我只是记录了所有这些通知,以了解我可能能够连接到的位置。

祝你好运!

【讨论】:

  • 感谢 Ole 的出色回答,正是我正在寻找的那种细节。
  • 一些链接是从上面更改的。似乎放弃了记录插件接口here
【解决方案2】:

没有正式的 API 或文档。

话虽如此,几乎所有社区插件都是开源的,使用http://alcatraz.io 发现新插件,然后按照他们的 github 源代码了解人们是如何实现它们的。

这里有一些有用的资源:

【讨论】:

    猜你喜欢
    • 2011-07-28
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    相关资源
    最近更新 更多