一个用go实现的iOS重签名应用,即市面上的iOS超级签名、蒲公英ios内测分发原理
使用本模块可以进行基本的IPA安装包重签名分发
实现功能:苹果开发者账号管理、IPA安装包管理
运行环境:Linux
https://github.com/togettoyou/go-one-server
1.生成替换 ios.csr 和 ios.key 文件
openssl genrsa -out ios.key 2048
openssl req -new -sha256 -key ios.key -out ios.csr
2.需要 https(获取UUID过程苹果服务器会回调我们的接口,需要https),可直接通过 config.yaml 开启 enableHttps (需要配置本地ssl证书),或通过 nginx 等网关代理等形式部署证书。
3.更改 config.yaml 配置 mysql.dsn(默认连接docker启动的mysql),applePath.url(必须改为你自己的https域名) 等信息
docker-compose up
# 会拉取 isign 签名环境,自动创建数据库,编译运行
详见Dockerfile
和docker-compose.yml
文件
部署截图:
仅作为例子,我的部署环境为本地虚机,https 域名使用内网穿透方式实现。
更改 config.yaml 域名,启动服务:
访问 https://isign.cn.utools.club/swagger/index.html
# 部署isign环境略,验证安装是否成功
isign -h
git clone https://github.com/togettoyou/super-signature.git
cd super-signature
# 配置 config.yaml
go run main.go
# 浏览器访问 http://localhost:8888/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": "累计下载量"
}
]
}