Ruby 正确的目标处理:重命名产品
参考 如何通过上面的gem'Xcodeproj'正确执行xcode项目目标的重命名Ruby 正确的目标处理:重命名产品,ruby,cocoapods,xcode-project,Ruby,Cocoapods,Xcode Project,参考 如何通过上面的gem'Xcodeproj'正确执行xcode项目目标的重命名 class AnnoyingClass attr_reader(:target, :project) def setProductName(name) puts %Q'I will rename product to #{name}' @target.product_name = name puts %Q'I did it! name now: #{@ta
class AnnoyingClass
attr_reader(:target, :project)
def setProductName(name)
puts %Q'I will rename product to #{name}'
@target.product_name = name
puts %Q'I did it! name now: #{@target.product_name}' #ok here
end
# project directory is a /path/to/*.xcodeproj
def openProject(project_directory)
@project = Xcodeproj::Project.open(project_directory)
@target = @project.targets.select{|target| target.name !~ /Tests/}.first
if @target
self.setProductName('Wow')
end
#@project.save doesn't help, the same result
#but here is something strange with 'PRODUCT NAME' value
#old value 'PRODUCT NAME' appears
puts "uh, everything is not fine enough #{@target.pretty_print}"
end
end
这个问题非常不清楚。甚至两个方法都属于同一个类或其后代吗?我只能说,在openProject中,您将数组实例分配给@target,但在renameProject中,您发送的是product_name方法,该方法可能在数组中不存在。如果您使用renameProject命名方法,您不应该使用@project变量而不是@target吗?谢谢您的评论,问题已编辑