3

我的想法是制作一个类似于 rails setup 应用程序的命令行实用程序。它应该自动创建一个 Xcode 项目,设置单元测试,设置 Frank,安装最常用的 Cocoapods 并设置一个项目结构。

目前没有这样的东西,我真的很想拥有它并开源它。我昨天在这里为其他问题苦苦挣扎,但没有发现任何最新信息。

我提出了使用XcodeProj的想法,CocoaPods使用它来生成包含 Pod 的项目。所以应该不是不可能做到的。我还找到了 XcodeProject,但这似乎是只读的。

有人(也许是 Cocoapods 开发人员)可以给我一个提示,因为 Xcodeproj gem 是非常无证的。

4

1 回答 1

15

开始使用 Xcodeproj 的最佳位置是Xcodeproj::Project类。

打开项目后,Xcodeproj API 允许轻松编辑所有已知属性。但是,您需要牢记以下概念:

  • 如果属性是字符串,您可以直接对其进行编辑。
  • 如果一个属性存储了一个对象,则有必要要求项目创建一个新对象,以便它有机会分配一个 UUID。
  • 如果您正在编辑存储对象列表的属性,则仅使用ObjectList公开的方法是安全的。
  • 当您为属性赋值时,Xcodeproj 会执行类型检查。

以下经过轻微测试的代码应该可以帮助您入门,方法是创建一个名为 Test 的新项目,该项目具有一个名为 App 的目标,用于 iOS 6.0 的部署目标,该目标将 Class.h 和 Class.m 文件添加到项目中,确保包含 Class.m在目标。

require 'xcodeproj'

proj = Xcodeproj::Project.new
app_target = proj.new_target(:application, 'App', :ios, '6.0')
header_ref = proj.main_group.new_file('./Class.h')
implm_ref = proj.main_group.new_file('./Class.m')
app_target.add_file_references([implm_ref])

proj.save_as('Test.xcodeproj')

请让我们知道,打开一个问题,您觉得文档的哪些部分令人困惑。如需更多业力,请使用拉取请求。

于 2013-04-08T13:22:43.633 回答