返回

iOS 脚本打包上传蒲公英通知钉钉,自动化上线一气呵成

IOS

前言

随着移动应用开发的蓬勃发展,快速、高效地发布新版本至关重要。对于 iOS 应用,蒲公英是一个流行的托管和分发平台,而钉钉是一个广泛使用的企业沟通工具。本文将介绍如何编写一个 iOS 脚本,实现以下自动化流程:

  • 打包 iOS 应用
  • 上传 ipa 文件至蒲公英
  • 通过钉钉群通知相关人员
  • 发送下载 ipa 包的二维码并 @ 相关人员

脚本编写

#!/bin/bash

# 设置蒲公英 API Token
Pgyer_API_Token="YOUR_API_TOKEN"

# 设置钉钉群 Webhook URL
DingTalk_Webhook_URL="YOUR_WEBHOOK_URL"

# 设置钉钉群 @ 人员列表(多个人员用逗号分隔)
DingTalk_At_Mobiles="13900000000,13800000000"

# 打包 iOS 应用
xcodebuild -workspace YOUR_WORKSPACE.xcworkspace -scheme YOUR_SCHEME -configuration Release -derivedDataPath YOUR_DERIVED_DATA_PATH

# 获取 ipa 文件路径
ipa_path=$(find YOUR_DERIVED_DATA_PATH -name "*.ipa")

# 上传 ipa 文件至蒲公英
curl -F "file=@${ipa_path}" -F "uKey=${Pgyer_API_Token}" -F "_api_key=${Pgyer_API_Token}" https://qiniu-storage.pgyer.com/apiv2/app/upload

# 获取 ipa 下载二维码
ipa_url=$(curl -s "https://www.pgyer.com/apiv2/app/qrcode?uKey=${Pgyer_API_Token}&_api_key=${Pgyer_API_Token}&buildKey=YOUR_BUILD_KEY" | jq -r ".data.buildQRCodeURL")

# 构造钉钉群消息内容
msg=$(cat <<EOF
{
  "msgtype": "markdown",
  "markdown": {
    "title": "iOS 应用新版本上线啦!",
    "text": "**应用名称:**  YOUR_APP_NAME\n**版本号:**  YOUR_VERSION_NUMBER\n**下载链接:**  ${ipa_url}\n**下载二维码:**  [点击查看](${ipa_url})\n\n@${DingTalk_At_Mobiles}"
  }
}
EOF
)

# 发送钉钉群消息
curl -X POST -H "Content-Type: application/json" -d "$msg" "$DingTalk_Webhook_URL"

使用说明

  • 将 YOUR_API_TOKEN 替换为您的蒲公英 API Token。
  • 将 YOUR_WEBHOOK_URL 替换为您的钉钉群 Webhook URL。
  • 将 YOUR_MOBILES 替换为要 @ 的钉钉群成员的手机号,多个手机号用逗号分隔。
  • 将 YOUR_WORKSPACE.xcworkspace、YOUR_SCHEME 和 YOUR_DERIVED_DATA_PATH 替换为您的 Xcode 项目信息。
  • 将 YOUR_BUILD_KEY 替换为蒲公英平台上您应用的 Build Key。

运行脚本

使用终端或其他脚本工具运行脚本。脚本执行完成后,iOS 应用将打包并上传至蒲公英,并且会通过钉钉群通知相关人员并发送下载 ipa 包的二维码。

总结

通过使用 iOS 脚本,您可以自动化 iOS 应用的打包、上传和通知流程。这可以节省大量时间和精力,并提高上线效率。本文提供的脚本易于使用和定制,可以根据您的需要进行修改。