Ruby fastlane脚本中的参数数量错误(给定0,应为1)(ArgumentError)
我确实在脚本中添加了方法:Ruby fastlane脚本中的参数数量错误(给定0,应为1)(ArgumentError),ruby,fastlane,Ruby,Fastlane,我确实在脚本中添加了方法: #这是所需的最低版本号。 #如果使用较新版本的功能,请更新此 fastlane_版本“2.28.2” 默认平台:ios 平台:ios-do #一些代码是从fastlane/app\u store\u build\u number复制的 def获取上次应用程序版本(应用程序标识符) 太空船::Tunes.login('some-user@icloud.com') 宇宙飞船::Tunes.select_团队 app=Spaceship::Tunes::Applicatio
#这是所需的最低版本号。
#如果使用较新版本的功能,请更新此
fastlane_版本“2.28.2”
默认平台:ios
平台:ios-do
#一些代码是从fastlane/app\u store\u build\u number复制的
def获取上次应用程序版本(应用程序标识符)
太空船::Tunes.login('some-user@icloud.com')
宇宙飞船::Tunes.select_团队
app=Spaceship::Tunes::Application.find(app\u标识符)
列车号=应用程序。所有列车号(站台:站台)
自订版本(列车号)。最后
结束
def自订单_版本(版本)
versions.map(&:to_s).sort_by{v|Gem::Version.new(v)}
结束
# ....
结束
在我的快车道行动中称之为:
lane:get\u ver do
获取证书(
用户名:'一些-user@icloud.com',
团队名称:“我们的团队名称”
)
app\u version=get\u last\u app\u version('com.some app.ios'))
#进一步行动
结束
当我运行get\u ver
操作时,我得到了错误的参数数(给定0,预期为1)
,并且无法理解出了什么问题
用一个参数定义的方法,调用也有一个参数,原因是什么
我还尝试添加参数名称:
get_last_app_version(app_标识符:“com.some app.ios”)
移除支架:
get_last_app_version'com.some app.ios'
但结果是一样的
完整错误输出:
Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/fast_file.rb:112:in `platform': [!] wrong number of arguments (given 0, expected 1) (ArgumentError)
from Fastfile:22:in `get_last_app_version'
from Fastfile:58:in `block (2 levels) in parsing_binding'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/lane.rb:33:in `call'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:74:in `run!'
from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/commands_generator.rb:333:in `run'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/fastlane/lib/fastlane/cli_tools_distributor.rb:108:in `take_off'
from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.99.0/bin/fastlane:20:in `'
from /usr/local/bin/fastlane:22:in `load'
from /usr/local/bin/fastlane:22:in `'
Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/fast_file.rb:112:在'platform'中:[!]参数数目错误(给定0,应为1)(ArgumentError)
来自Fastfile:22:“获取最后一个应用程序版本”中的
来自Fastfile:58:in `解析_绑定中的块(2级)'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/lane.rb:33:in'call'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/runner.rb:49:in'block in execute'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/runner.rb:45:in'chdir'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/runner.rb:45:in'execute'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/lane\u manager.rb:56:in'cruise\u lane'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/command_-line_-handler.rb:36:in'handle'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/commands_generator.rb:108:“运行中的块(2个级别)”中
from/Library/Ruby/Gems/2.3.0/Gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in'call'
from/Library/Ruby/Gems/2.3.0/Gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in'run'
from/Library/Ruby/Gems/2.3.0/Gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in'run\u active\u command'
来自/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane\u core/lib/fastlane\u core/ui/fastlane\u runner.rb:74:in'run!'
从/Library/Ruby/Gems/2.3.0/Gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in'run!'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/commands_generator.rb:333:in'run'
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/commands_generator.rb:41:in'start'
来自/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/fastlane/lib/fastlane/cli\u tools\u distributor.rb:108:in“起飞”
from/Library/Ruby/Gems/2.3.0/Gems/fastlane-2.99.0/bin/fastlane:20:in`'
from/usr/local/bin/fastlane:22:in'load'
from/usr/local/bin/fastlane:22:in`'
您的错误消息说您应该将参数传递给
platform
method调用,这发生在此行:
train_numbers = app.all_build_train_numbers(platform: platform)
您的错误消息说您应该将参数传递给
platform
method调用,这发生在此行:
train_numbers = app.all_build_train_numbers(platform: platform)
我更新了有问题的代码-现在您可以看到
platform
已定义。它包含在默认的fastlane
脚本中,我没有更改它。此外,错误消息不包含任何关于所有列车号的信息。。。奇怪的是,当我直接设置platform
值(app.all\u build\u train\u number(platform::ios)
)时,脚本开始工作。谢谢,我将进一步学习fastlane。它不是“定义”的,而是用:ios
参数调用的。这并不意味着您可以使用platform
调用来引用它的“值”(无论它是什么)。我更新了有问题的代码-现在您可以看到platform
已定义。它包含在默认的fastlane
脚本中,我没有更改它。此外,错误消息不包含任何关于所有列车号的信息。。。奇怪的是,当我直接设置platform
值(app.all\u build\u train\u number(platform::ios)
)时,脚本开始工作。谢谢,我将进一步学习fastlane。它不是“定义”的,而是用:ios
参数调用的。这并不意味着您可以使用platform
call来引用它的“值”(不管它是什么)。