Estoy tratando de agregar automáticamente los archivos de mi proyecto de Xcode uso de rb-appscript. Yo no tengo mucha experiencia con Ruby o Applescript, pero dos personas que parecen haber hecho este trabajo para ellos:
https://github.com/gonzoua/xcs/blob/master/xcs.thor
Agregar automáticamente genera los archivos de origen en un proyecto de xcode
Por desgracia, ninguno de estos funciona para mí. Puedo conseguirlos para añadir archivos a los grupos, pero la adición de archivos a los objetivos de los descansos. Aquí es el más simple trozo de código que no funciona para mí:
require 'rubygems'
require 'appscript'
project_path = 'Users:me:Projects:xcode:project:src:AppScaffold.xcodeproj'
project_name = 'AppScaffold'
group_name = 'Classes'
file_name = 'ApplicationDelegate.m'
target_name = 'AppScaffold'
def lookup(sequence, name)
sequence.get.each { |item|
if item.name.get == name
return item
end
}
raise Exception.new("Couldn't find name '" + name + "' in sequence " + sequence.inspect)
end
app = Appscript.app('Xcode')
app.open(project_path)
project = lookup(app.projects, project_name)
target = lookup(project.targets, target_name)
group = lookup(project.root_group.item_references, group_name)
file = lookup(group.item_references, file_name)
file.add({:to => target})
# I also tried this:
# app.add(file, {:to => target})
Este error con este mensaje:
/Library/Ruby/Gems/1.8/gems/rb-appscript-0.6.1/lib/appscript.rb:542:in `_send_command': CommandError (Appscript::CommandError)
OSERROR: -1708
MESSAGE: Application could not handle this command.
COMMAND: app("/Developer/Applications/Xcode.app").workspace_documents["project.xcworkspace"].projects["AppScaffold"].root_group.Xcode_3_groups.ID("080E96DDFE201D6D7F000001").Xcode_3_file_references.ID("1D3623250D0F684500981E51").add({:to=>app("/Developer/Applications/Xcode.app").workspace_documents["project.xcworkspace"].projects["AppScaffold"].targets.ID("1D6058900D05DD3D006BFB54")})
from /Library/Ruby/Gems/1.8/gems/rb-appscript-0.6.1/lib/appscript.rb:642:in `method_missing'
from add_to_target.rb:28
Tenga en cuenta que estoy usando Xcode 4, pero mi proyecto parece haber "Xcode_3_references". Este es también el caso de los proyectos en los que crear desde cero; no estoy seguro de por qué.
De todos modos, no estoy seguro de qué hacer con este mensaje de error, o dónde encontrar documentación sobre esto. (He mirado el Xcode diccionario, pero no tenía mucho que decir acerca de "agregar".) Cualquier consejo sería genial. Yo no estoy casado con rb-appscript, solo quiero añadir archivos a mi proyecto de programación.