iOS重签
由于渠道推广需要,可能需要多个包做备份推广,区别是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
iOS重签的更多相关文章
- iOS重签名脚本
unzip xxx.ipa //解压ipa rm -rf Payload/ xxx.app/_CodeSignature //删除旧签名 cp newEmbedded.mobileprovision ...
- 签名mobileconfig 重签ipa
.mobileconfig文件的签名 生成Apache专用的三个证书 双击[2331135_zgp.ink_chain.crt]可以看到它是个根证书,在mac上,双击它,导入到证书中心,然后再导出为p ...
- iOS安装包重签笔记
https://blog.csdn.net/skylin19840101/article/details/60583893
- 使用企业证书给iOS应用重签
来源:https://github.com/sailtsao/iReSign 这里有个开源的签名工具,已经修改为支持dylib frameworks等的签名了,使用这个签名不会出现任何问题 iReSi ...
- iOS重绘机制drawRect
iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动 ...
- 2020年IOS超级签最新实现原理详解
相信2019年最火的应该就是这个东西了,我也是摸着石头过河,勉强混进了这个行业! 超级签这个东西吧,说白了就是用个人账号分发应用,大致分成以下几个步骤吧 一.使用配置文件获取UDID 苹果公司允许开发 ...
- ipa 重签
IPA 重签名 时间 2014-03-03 10:28:36 txx's blog原文 http://blog.rpplusplus.me/blog/2014/03/03/ipa-re-codes ...
- iOS重一些常用的代理模式
(一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和proto ...
- ios 重签名
http://stackoverflow.com/questions/6569120/resigning-an-application-outside-xcode #!/bin/sh TEMPDIR= ...
随机推荐
- shutdown的几种方式,shutdown abort的一些弊端有哪些
1.shutdown normal 正常方式关闭数据库. 2.shutdown immediate 立即方式关闭数据库. 在SVRMGRL中执行shutdown immedia ...
- BootstrapValidator demo
source:http://bv.doc.javake.cn/api/ BootstrapValidator is the best jQuery plugin to validate form fi ...
- YTU 2435: C++ 习题 输出日期时间--友元函数
2435: C++ 习题 输出日期时间--友元函数 时间限制: 1 Sec 内存限制: 128 MB 提交: 1069 解决: 787 题目描述 设计一个日期类和时间类,编写display函数用于 ...
- facebook Presto SQL分析引擎——本质上和spark无异,分解stage,task,MR计算
Presto 是由 Facebook 开源的大数据分布式 SQL 查询引擎,适用于交互式分析查询,可支持众多的数据源,包括 HDFS,RDBMS,KAFKA 等,而且提供了非常友好的接口开发数据源连接 ...
- Java 抽象类和接口的理解
Java 抽象类和接口的理解 一.抽象类 为什么使用抽象类(个人理解): 面向对象的概念是,我们知道的所有的对象都是通过类来描绘的,如果类包含的信息不能描绘一个具体的对象,就需要抽象来解决了,意思是一 ...
- python解决list unicode转中文显示
#!/usr/bin/python# #-*-coding:UTF-8-*- import xlrd book = xlrd.open_workbook('Interface_data.xlsx') ...
- Identity 更改密码的几种方式
1.先使用UserManager.RemovePassword(UserID),清空密码,再使用UserMnager.AddPassword(UserId,newPassword)增加新密码. [Ht ...
- silverlight 4中datagrid列标题和列内容居中问题,增加自增长列
转载:http://www.cnblogs.com/guoyuanwei/archive/2011/01/02/1924163.html 命名空间:xmlns:Primitives="clr ...
- phpStudy安装配置小记
一.phpStudy简介 该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境·该程序不 ...
- bzoj 1025: [SCOI2009]游戏【数学+dp】
很容易发现行数就是lcm环长,也就是要求和为n的若干数lcm的个数 有结论若p1^a1+p2^a2+...+pm^am<=n,则ans=p1^a1p2^a2..*pm^am是n的一个可行答案.( ...