由于渠道推广需要,可能需要多个包做备份推广,区别是icon、游戏名称、登录logo、bundleid、签名证书、支付Consumables不同,其他游戏包体完全相同。


反复修改多次文件提交Jenkins导包完全是浪费精力,于是尝试iReSign工具重签。


遇到的问题:


1.手动修改后缀ipa为zip使用解压工具解压,然后修改文件,最后重签失败,使用zip/unzip命令最后重签成功


2.手动创建的entitlements.plist文件未被工具重签时替换,未知无解,不选entitlements.plist选项会一直提示entitlements gennerated...,最后还是手动替换的


脚本重签,顺便又学习了下shell脚本:


 1 echo  "重签过程请依次正确输入:ipa文件、描述文件mobileprovision、证书名称cerName\n"

 read -p "请输入ipa文件路径(拖入终端即可) : " param_ipa
echo "输入:$param_ipa\n" if ! ([ -f "$param_ipa" ]); then
echo \"${param_ipa}\"文件不存在
exit
fi read -p "请输入mobileprovision文件路径(拖入终端即可) : " param_mobileprovision
echo "输入:$param_mobileprovision\n" if ! ([ -f "$param_mobileprovision" ]); then
echo \"${param_mobileprovision}\"文件不存在
exit
fi read -p "请输入cerName('iPhone Developer: XXXXX (XXX)') : " param_cerName
echo "输入:$param_cerName\n" unzip -qo "$param_ipa" -d extracted APPLICATION=$(ls extracted/Payload/) cp "$param_mobileprovision" "extracted/Payload/$APPLICATION/embedded.mobileprovision" echo "Resigning with certificate: $param_cerName" >&
find -d extracted \( -name "*.app" -o -name "*.appex" -o -name "*.framework" -o -name "*.dylib" \) > directories.txt
security cms -D -i "extracted/Payload/$APPLICATION/embedded.mobileprovision" > t_entitlements_full.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > t_entitlements.plist
while IFS='' read -r line || [[ -n "$line" ]]; do
/usr/bin/codesign --continue -f -s "$param_cerName" --entitlements "t_entitlements.plist" "$line"
echo "line: ${line}"
done < directories.txt # /usr/bin/codesign --continue -f -s "$param_cerName" --entitlements "t_entitlements.plist" "extracted/Payload/$APPLICATION" echo "Creating the Signed IPA"
cd extracted
zip -qry ../extracted.ipa *
cd .. ls_date=`date +%Y%m%d`
mv extracted.ipa "${ls_date}_Signed.ipa" rm -rf "extracted"
rm directories.txt
rm t_entitlements.plist
rm t_entitlements_full.plist

最新文章

  1. oracle数据库常用plsql语句
  2. python some install tips
  3. Windows Azure入门教学:使用Blob Storage
  4. windows server 2008 R2 忘记administrator密码
  5. perl 导出函数到当前名字空间
  6. centos emacs安装
  7. CTime,Systemtime的比较还有转换成日期格式。
  8. github中的ssh配置
  9. Android网络编程http派/申请服务
  10. 移动端高清、多屏适配方案——rem
  11. tensorflow训练中出现问题Couldn&#39;t open CUDA library cupti64_80.dll
  12. springboot中使用过滤器、拦截器、监听器
  13. Maya cmds filterExpand 列出 选择的 uvs vertices faces edges 等 component 类型
  14. modelform的简介
  15. 牛客OI周赛7-普及组 解题报告
  16. VS2013 生成事件,删除不必要的DLL
  17. 精读JavaScript模式(二)
  18. ubuntu svn rabbitvcs 安装
  19. java使用省略号代替多参数(参数类型... 参数名)
  20. springboot模糊查询

热门文章

  1. 每天进步一点点—mysql-mysqldump
  2. 设计模式-(15)责任链模式 (swift版)
  3. I.MX6 Battery issues
  4. django flask缓存memcache的key生成方法介绍
  5. Linux网络协议栈(三)——网络设备(2)
  6. bzoj 3232 圈地游戏 —— 01分数规划+最小割建图(最大权闭合子图)
  7. 【137】Photoshop相关功能
  8. 2-4 测试案例helloWorld
  9. 关于loadrunner运行场景时提示“初始化失败,通信错误”的解决方案
  10. HDU 5944 Fxx and string (暴力)