感谢 JetBrains 提供的免费授权
提供给个人开发者测试分发自己的应用,苹果个人开发者账号名下有 100 台测试设备可以绑定进行测试分发 APP,本应用只是方便开发者分享自己的应用
一个用 go 实现的 iOS 签名分发应用
使用本应用可以进行 IPA 重签名分发
实现功能:苹果开发者账号管理、IPA安装包管理
运行环境:Docker 或 centos 7
核心签名使用 zsign ,感谢
# 查看帮助
docker run --rm togettoyou/super-signature:latest -h
# 版本
docker run --rm togettoyou/super-signature:latest -v
# http 方式部署,ssl 证书部署可以自行使用 nginx 等网关,或支持 https 的内网穿透等方式
mkdir super-signature
cd super-signature
docker run --name super-signature \
-v $PWD/ios:/root/super-signature/ios \
-v $PWD/db:/root/super-signature/db \
-p 8888:8888 \
togettoyou/super-signature:latest \
--url=https://你的域名
# 运行后会挂载容器内 ios目录(存放账号和ipa文件) 和 db目录(存放sqlite文件) 到当前目录下
# https 方式部署
mkdir super-signature
cd super-signature
mkdir ssl
# 自行向服务厂商申请域名的 ssl 证书后拷贝 server.crt 和 server.key 到 ssl 目录
docker run --name super-signature \
-v $PWD/ios:/root/super-signature/ios \
-v $PWD/db:/root/super-signature/db \
-v $PWD/ssl:/root/super-signature/ssl \
-p 443:443 \
togettoyou/super-signature:latest \
--url=https://你的域名 \
--port=443 \
--crt=ssl/server.crt \
--key=ssl/server.key
# 使用 enableOSS 开启 oss 支持
docker run --name super-signature \
-v $PWD/ios:/root/super-signature/ios \
-v $PWD/db:/root/super-signature/db \
-v $PWD/ssl:/root/super-signature/ssl \
-p 443:443 \
togettoyou/super-signature:latest \
--url=https://你的域名 \
--port=443 \
--crt=ssl/server.crt \
--key=ssl/server.key \
--enableOSS=true \
--ossEndpoint=oss-cn-xxx.aliyuncs.com \
--ossAccessKeyId=XXXXXXXXXXXXXXXXX \
--ossAccessKeySecret=XXXXXXXXXXXXXXXXXXXX
git clone https://github.com/togettoyou/super-signature.git
cd super-signature
# go 1.16+
make
yum install -y openssl openssl-devel unzip zip
cp zsign/zsign /usr/local/bin/
chmod +x /usr/local/bin/zsign
./super-signature-app -h
# http
./super-signature-app --url=https://你的域名
# https
./super-signature-app --url=https://你的域名 --port=443 --crt=ssl/server.crt --key=ssl/server.key
访问你的域名 https://你的域名/swagger/index.html
1、 上传苹果开发者账号信息
登陆 https://appstoreconnect.apple.com/access/api 获取p8(下载的API密钥文件内容),kid ( 密钥ID),Iss (Issuer ID):
上传:
2、 上传IPA
3、 iPhone 使用 Safari 浏览器打开 AppLink 链接
/api/v1/getAllPackage
返回数据格式说明
{
"code": 0,
"msg": "成功",
"data": [
{
"ID": 1,
"IconLink": "应用图标地址",
"BundleIdentifier": "应用包名",
"Name": "应用名称",
"Version": "应用版本号",
"BuildVersion": "应用BuildVersion",
"MiniVersion": "最低支持ios版本",
"Summary": "简介",
"AppLink": "应用下载地址,iPhone使用Safari浏览器访问即可下载",
"Size": "应用大小",
"Count": "累计下载量"
}
]
}