新的Fastlane插件可使用altool上传iOS二进制文件
最初在XCBlog上发布 。 阅读原始文章以获得更好的图形
苹果不希望我们出于任何原因启用连续部署。 没有用于处理iTunes Connects的API,Apple仍然希望批准您的应用程序。 苹果自己的持续集成服务器(又称Xcode服务器)不允许我们将IPA文件上传到iTunes Connect。 存档过程会创建一个ipa文件,但会在那里停止。 我们仍然需要依靠Fastlane或手动过程将内部版本上传到iTunes connect。 在上一篇博客文章中,我们已经看到了将iOS二进制文件上传到iTunes Connect的五种方法。 在本文中,我们将介绍我编写的Fastlane插件altool,以使用altool将iOS二进制文件上传到iTunes Connect。 您可以在Github上找到该插件的详细信息。
为什么我写了这个插件
Fastlane解决了使用传递和试用之类的工具将iOS二进制文件上传到iTunes Connect的问题,以便我们可以编写与iTunes Connect交互的脚本。 但是,Fastlane使用iTMSTrasporter工具上传二进制文件并处理iTunes Connect,这是一个棘手且漫长的过程。 GitHub上有一个问题来讨论在iTMSTransporter上使用altool的问题,但是作者决定使用iTMSTrasporter来交付工具。
altool是Application Loader的命令行界面,似乎比iTMSTrasporter更为流畅。 我们不需要显式安装此实用程序,它附带了最新的Xcode。 苹果在这里有altool的简要文档。 使用Fastlane,无需使用此工具,因此我认为编写插件很容易,这样我们就可以将二进制文件上传到iTunes connect。
如何使用altool插件
使用altool插件与使用其他插件一样容易。 首先,通过运行以下命令将其添加到您的项目中:
fastlane add_plugin altool
此插件的唯一先决条件是必须安装Fastlane,此插件具有可配置的Apple ID和密码,但您可能不想在配置中编写该值。 您需要使用FASTLANE_USER和FASTLANE_PASSWORD环境变量设置进行Fastlane设置。 当您运行fastlane init时,Fastlane会询问它,但如果没有,则必须设置这些变量。
您可以轻松地为bash shell设置它
$ export FASTLANE_USER =“ your_apple_id@yourcompany.com”;
$ export FASTLANE_PASSWORD =“ your_super_xecret_password”;
如果您不使用bash,也可以对外壳进行选择。此插件可用于使用Gym将生成的ipa文件上传到iTunes Connect。
安装后,我们可以使用以下配置参数轻松配置插件
altool(
altool_username:ENV [“ FASTLANE_USER”],
altool_password:ENV [“ FASTLANE_PASSWORD”],
altool_app_type:“ ios”,
altool_ipa_path:“ ./ build / Your-ipa.ipa”,
altool_output_format:“ xml”,
)
使用Gym创建iOS二进制文件或ipa文件后,即可进行配置。
关于安全的一点点
在以上配置中,我们已使用环境变量进行安全配置。 如何安全地使用这些凭据取决于您。 当altool插件运行时,它可能会将用户名和密码打印到控制台命令,将输出通过管道传送到/ dev / null或使用类似的方法,以便Fastlane不会将命令打印到控制台。 选择正确的方法来保护您的详细信息。
示例项目
Github上有一个示例项目Altool-Demo,它有其自述文件。 随时检查项目并自己尝试。 该项目正在使用虚拟文件,因此它无法通过验证,但是如果您拥有真正的ipa,则它将被上传到iTunes Connect(希望如此)
结论
该插件只是Apple命令行工具altool上的Ruby包装器,如果该altool可以工作,则该插件应该100%可以工作。 我想在真实的应用程序上尝试一下,看看它的性能如何。 试试看,后果自负。 祝您好运,并为iOS应用持续交付。
像XCBlog的 XCTEQ 发布的帖子一样 ? 您可能还喜欢我们的一些服务,例如访客博客或Mobile DevOps(CI / CD)或测试自动化。 在 Github 上 搜索我们的 服务 ,开源项目, 或者在 Twitter , Facebook , Youtube 和 LinkedIn 上关注我们 。 下载我们的 XCBlog iOS应用程序以离线阅读博客。
X CTEQ 是一家专门从事基于Mobile DevOps,CI / CD,Mobile,AI / ML的测试自动化Checkout XCTEQ产品和服务的公司, 网址 为 http://www.xcteq.co.uk 或写信给我们info@xcteq.co。英国..