ios ipa(包含frameworks)重新签名

废话不多说,直接上图,上代码


以下是 脚本内容

resignRoot=$PWD

certfierName="XXXXXXXXXXXXXXX"

appFolder="XXXXXXXXXXXXXXX"

echo "1. unpackage ipa"

rm -rf ./Payload

rm -rf resigned.ipa

unzip *.ipa >> resign.log

echo "finsh unpackage ipa"

# search app floder

for app_item in ./Payload/*.app

do

if test -d $app_item

then

appFolder=$app_item

fi

done

if [ ${appFolder}x != "x" ]; then

echo "Did found app:"$appFolder

else

echo "No ipa found."

rm -rf resign.log

exit

fi

# copy embedded.mobileprovision

echo "2. copy embedded.mobileprovision"

rm -rf ${appFolder}/embedded.mobileprovision

cp ./*.mobileprovision ${appFolder}/embedded.mobileprovision

cd ${appFolder}/

for zip_item in *.zip

do

unzip -q $zip_item

rm -rf $zip_item

done

cd $resignRoot

for bundle_item in ${appFolder}/*.framework

do

if test -d $bundle_item

then

cp ./*.mobileprovision ${bundle_item}/embedded.mobileprovision

fi

done

echo "3. export entitlements.plist"

rm -rf ./entitlements.plist

codesign -d --entitlements=entitlements.plist ${appFolder}

echo "4. resign app"

rm -rf ${appFolder}/Embedded.plist

cp ./Embedded.plist ${appFolder}/Embedded.plist

cd ${appFolder}/

for bundle_item in *.framework

do

if test -d $bundle_item

then

bunleName=${bundle_item%%.framework}

codesign -f -s "$certfierName" --entitlements=${resignRoot}/entitlements.plist ${bundle_item}

zip -q -r ${bunleName}.zip $bundle_item

rm -rf $bundle_item

fi

done

cd $resignRoot

for fmwk_item in ${appFolder}/Frameworks/*.framework

do

codesign -f -s "$certfierName" --entitlements=entitlements.plist ${fmwk_item}

done

codesign -f -s "$certfierName" --entitlements=entitlements.plist ${appFolder}

echo "5. package ipa ..."

zip -r resigned.ipa ./Payload/ >> resign.log

echo "6. clean ..."

rm -rf resign.log

rm -rf ./entitlements.plist

rm -rf ./Payload

echo "7. done."

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,252评论 0 0
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,070评论 0 1
  • 重签名:可以让用个人开发者账号打出来的包,不用上架Appstore即可将其安装到所有未越狱的iOS设备上(前提条件...
    CGsir陈阅读 3,134评论 0 2
  • 前提: 游戏嵌入SDK,用Adhoc配置文件打出母包.ipa,其中渠道id存储在SDK的.bundle的plist...
    水晶兰阅读 4,571评论 2 4
  • 昨天在和其他同事研究自动打包时,发现能够将 ipa 包重新进行签名。what's hell? how to ach...
    Dosun阅读 8,752评论 5 15