前面2个文章已经写明怎么获取UUID和签名文件了,不明白的可以回去看下
苹果个人开发者自动发包(超级签)教程(1)-UDID获取_描述文件自动注册uuid到服务器-CSDN博客
苹果个人开发者自动发包(超级签)教程(2)-准备接入App Store Connect API-CSDN博客
准备
接下去本地打包准备
需要一台macos系统的电脑(虚拟机 macmini,macpro都可以)
步骤:
1、删除上一次打包的解压文件(可以每次打包之前删,也可以每次包体有更新之前删)
2、删除上一次生成的entitlements.plist文件
3、解压ipa文件
4、删除解压出来的_CodeSignature文件
5、放入签名文件
6、重新生成plist文件并放入解压的项目中
7、重新签名项目
8、压缩包体 上传到oss(可以是阿里云,七牛云等等)
只要步骤清晰了,做起来就简单了
详细
流程全部都是python代码写的 提供各位大佬参看
1、删除上一次打包的解压文件
payloadfile=Path('Payload')
if payloadfile.exists():
rmfileCmd= 'rm -rf Payload'
process = subprocess.Popen(rmfileCmd, shell=True)
process.wait()
2、删除上一次生成的entitlements.plist文件
ementlistfile=Path('entitlements.plist')
if ementlistfile.exists():
rmfileCmd= 'rm -rf entitlements.plist'
process = subprocess.Popen(rmfileCmd, shell=True)
process.wait()
3、解压ipa文件
unzipCmd = 'unzip -o -q %s.ipa' %(file)
process = subprocess.Popen(unzipCmd, shell = True)
process.wait()
4、删除解压出来的_CodeSignature文件
rmCmd= 'rm -rf Payload/xxxxx/_CodeSignature' #xxxxx为解压出来的目录 一般为xxx.app
process = subprocess.Popen(rmCmd, shell=True)
process.wait()
5、放入签名文件
cpCmd = 'cp embedded.mobileprovision Payload/xxxxx' #xxxxx为解压出来的目录
process = subprocess.Popen(cpCmd, shell=True)
process.wait()
6、重新生成plist文件并放入解压的项目中
这个部分很重要
ementsCmd='/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i Payload/%s.app/embedded.mobileprovision) > entitlements.plist' %(file) #file为解压包体的文件夹名称等同与前面的xxxxx
process = subprocess.Popen(ementsCmd, shell=True)
process.wait()
7、重新签名项目
resignCmd = 'codesign -f -s "%s" Payload/xxxxx --entitlements entitlements.plist' %(CODE_SIGN_IDENTITY) #xxxxx为包体解压文件夹名称
process = subprocess.Popen(resignCmd, shell=True)
process.wait()
8、压缩包体 上传到oss(可以是阿里云,七牛云等等)
zipCmd = 'zip -rq %s.ipa Payload' %(ofile) #压缩包体
process = subprocess.Popen(zipCmd, shell=True)
process.wait()
if process.returncode==0:
return True
else:
return False
到此超级签流程都完毕,后面就看大佬们把包上传到云存储了 方便用户们下载使用.