Ruby Xcode 8如何知道我的shell环境变量?

Ruby Xcode 8如何知道我的shell环境变量?,ruby,xcode,bash,shell,xcode8,Ruby,Xcode,Bash,Shell,Xcode8,在Xcode 8.x中,在编译时,我希望使用shell环境的环境变量运行Ruby脚本。不幸的是,当我将运行脚本阶段添加到目标的构建阶段时,我的Ruby脚本无法从shell环境中找到环境变量 例如,我想要这个脚本: #!/usr/bin/env ruby require('plist') open('myProperties.plist', 'w') do |f| f << { :'myProperty' => ENV['MY_PROPERTY'].to_s

在Xcode 8.x中,在编译时,我希望使用shell环境的环境变量运行Ruby脚本。不幸的是,当我将运行脚本阶段添加到目标的构建阶段时,我的Ruby脚本无法从shell环境中找到环境变量

例如,我想要这个脚本:

#!/usr/bin/env ruby

require('plist')

open('myProperties.plist', 'w') do |f|
  f << {
    :'myProperty' => ENV['MY_PROPERTY'].to_s
  }.to_plist
end
#/usr/bin/env ruby
require('plist')
open('myProperties.plist','w')do | f|
f环境['MY_PROPERTY']至
}.去普利斯特
结束
使用我的环境中的数据生成
.plist
文件


最终,我的目的是提供一种方便的方法,在需要这些密钥才能正常工作的开源iOS项目中使用秘密API密钥。你知道我怎样才能做到这一点吗?

你为什么不循环一下你想添加的环境变量呢?Ruby实例在启动时应该知道当前shell执行环境中存在的任何环境。如果在ruby中添加变量时找不到它们,那是因为它们在ruby执行上下文中不存在。您需要弄清楚为什么它们不存在于执行ruby的shell环境中。@Thermatix“为什么它们不存在于执行ruby的shell环境中”=这正是我的问题。这就是Xcode外壳环境。我怎样才能使它“继承”我的shell环境变量呢。我正在媒体上写一篇关于这件事的文章。嗯,不是真的。但这是一个变通办法。