在 Linux 上通过命令行上架 iOS APP,Fastlane + AppUploader(开心上架)
很多团队的 CI 或发布环境运行在 Linux 服务器上例如 GitLab Runner、Jenkins 或自建构建节点。当应用已经生成.ipa文件之后接下来就是是否可以在 Linux 上直接把 IPA 上传到 App Store答案是可以的关键在于把流程分开构建 IPA 与上传 IPA 并不是同一件事。下面说明如何在Linux 通过命令行完成 iOS 上架流程。一、准备发布所需文件在 Linux 上传之前需要准备三个文件文件作用.ipaiOS 应用安装包.p12iOS 发布证书.mobileprovisionApp Store 描述文件这些文件可以来自不同来源Mac 构建环境CI 构建系统云打包服务如果团队没有 Mac也可以通过AppUploader开心上架在 Windows 或 Linux 环境生成证书和描述文件。生成证书的大致流程登录 Apple 开发者账号进入证书管理创建distribution类型证书下载.p12文件描述文件创建流程进入描述文件管理新建App Store类型绑定 Bundle ID 与证书下载.mobileprovision文件这些文件会在打包或 CI 构建阶段使用。二、在 CI 或 Mac 构建 IPALinux 环境通常只负责发布而不是构建 iOS 应用。IPA 可以通过以下方式生成使用 Xcode在 Mac 上执行Product → Archive然后导出 App Store 类型 IPA。使用 Fastlane如果项目使用 Fastlane可以通过脚本构建lane :release do build_app( scheme: AppScheme, export_method: app-store ) end执行fastlane release生成.ipa文件。构建完成后将 IPA 上传到 Linux 服务器。三、在 Linux 安装上传工具Linux 上无法运行 Xcode 的上传工具但可以使用命令行上传工具。其中一种方式是使用AppUploader CLI。下载 AppUploader 后可以在压缩包中找到命令行工具。确认命令可执行chmod x appuploader_cli四、使用命令行上传 IPA在 Linux 服务器执行appuploader_cli -f app.ipa -u appleidexample.com -p xxxx-xxxx-xxxx-xxxx -c 2参数说明参数含义-fIPA 文件路径-uApple 开发者账号-pApp 专用密码-c上传通道通道说明1旧上传通道2新上传通道上传成功后命令行会返回上传状态。五、在 App Store Connect 查看构建上传完成后进入App Store ConnectMy Apps → App → TestFlight等待 Apple 处理构建。处理完成后可以看到新的构建版本可以分发 TestFlight可以提交审核六、在 CI 中自动化上传Linux 命令行上传的一个优势是可以直接集成到 CI。例如 Jenkins Pipelinestage(Upload IPA) { sh ./appuploader_cli \ -u $APPLE_ID \ -p $APP_PASSWORD \ -c 2 \ -f build/app.ipa }CI 在构建完成后自动上传。七、常见问题排查构建未出现在 App Store Connect检查Bundle ID 是否一致构建号是否递增是否使用 Distribution 描述文件上传失败确认App 专用密码正确网络未被阻断IPA 文件未损坏八、Linux 发布流程总结如果把流程整理成工具组合会得到如下结构阶段工具证书生成AppUploader描述文件生成AppUploaderIPA 构建Xcode / Fastlane命令行上传AppUploader CLI审核提交App Store ConnectiOS 应用上架流程并不一定绑定在 macOS 上。如果 IPA 文件已经生成上传阶段完全可以在 Linux 环境通过命令行完成。参考链接https://www.appuploader.net/tutorial/zh/83/83.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2410664.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!