iOS15 此App的开发者需要更新App以在此iOS版本上正常工作的解决方案

1,001 阅读1分钟

iOS15出现后,以前版本的企业版App都会出现该问题,这个时候需要对企业版App重新签名,不需要重新打包;

首先macos版本要升级至BigSur.

在终端中执行, 首先第一步,对ipa解包:

unzip -q app.ipa

当前目录下会多出一个Payload目录.

第二步,查看本机所有签名:

security find-identity -v -p codesigning

第三步,选择对应的证书重新签名:

codesign -s "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -f --preserve-metadata --generate-entitlement-der ./Payload/XXXX.app --verbose

第四步,合包:

zip -r newApp.ipa Payload

结束End.

若要测试安装新生成的ipa,可执行:

ios-deploy --bundle newApp.ipa



16:36分 更新:

编写了一个脚本resign.sh, 执行命令:

sh resign.sh XXXXXX.ipa

resign.sh代码:


ipaName=$1

# security find-identity -v -p codesigning查看所有证书
cer="XXXXXXXXXXXXXXXX";

echo "重签名ipa: $1"

echo "解包"
unzip -q "$ipaName"
if [ $? -ne 0 ]; then
	exit
fi

echo "签名"
codesign -s "$cer" -f --preserve-metadata --generate-entitlement-der ./Payload/*.app --verbose  
if [ $? -ne 0 ]; then
	exit
fi

echo "合包"

zip -r "$ipaName" Payload
if [ $? -ne 0 ]; then
	exit
fi

rm -rf ./Payload

echo "重签完成"