博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ipa 重新签名
阅读量:4981 次
发布时间:2019-06-12

本文共 1508 字,大约阅读时间需要 5 分钟。

下载编译iReSign

 

企业证书重签名发布APP(支持APNS)   

针对内部企业或者内测用户,我们希望APP测试完成后能立即在小范围内测用户手中进行体验以及相关功能的验证以及反馈。

为了达到目的,一般我们会自己做一套内部发布系统,既然需要做内测发布,那么首先得有可以用的ipa包。并且保证功能不缺少。
苹果的开发者证书只能保证最多100个用户安装,并且还得提供udid,苹果提供的企业证书可以免去udid。但是当我们兴冲冲去申请了企业证书后,问题来了:
每个bundleid只能存在于一个账号,当需要推送APNS时,企业证书也得生成一个跟开发证书一样的bundleid,否则企业证书发布的版本要跟提交APPSTORE的版本不同bundleid,到时无法相互覆盖以及做兼容。
是否有办法使用相同的bundleid,又能使用推送功能呢?
方法是有的,那就是重签名。
重签名方法如下:
假如APPSTORE上的版本bundleid为:com.zalejiang.appstore
1、用企业证书 生成一个其他bundleid的能支持APNS推送的证书。bundleid不限。例如:com.zalejiang.inhouse
2、拿到提交APPSTORE的ipa包,解压:unzip appstore.ipa
3、删除Payload/appstore.app/_CodeSignature
4、更换描述文件:cp inhouse.mobileprovision Payload/appstore.app/embedded.mobileprovision
5、重签名:codesign -f -s "iPhone Distribution: inhouse" --entitlements Entitlements.plist --resource-rules Payload/appstore.app/ResourceRules.plist Payload/appstore.app
Entitlements.plist 是很重要的一个文件,具体格式见后文
6、压缩成ipa包:zip -r New_appstore.ipa Payload
其中Entitlements.plist 格式如下:

application-identifier
JDL5JS4SKC.com.zalejiang.inhouse
aps-environment
production
get-task-allow
keychain-access-groups
JDL5JS4SKC.*

标红的地方要跟使用的inhouse.mobileprovision文件里面的信息一致。
压缩后安装的包直接用com.zalejiang.appstore的消息推送证书即可收到消息。

 

 http://pan.baidu.com/s/1kTHrhyR

 

 
 
 
 

转载于:https://www.cnblogs.com/hl666/p/4551754.html

你可能感兴趣的文章
MVC3项目发布
查看>>
Android 属性动画(Property Animation) 完全解析 (下)
查看>>
数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换)...
查看>>
MySQL主从复制与读写分离
查看>>
arp -s 添加失败:拒绝访问
查看>>
抽象类与接口的区别
查看>>
mysql禁止远程访问
查看>>
LoadRunner 和QTP的区别
查看>>
latex 字体大小设置
查看>>
android 应用五大核心组件之一(service)
查看>>
【笔记】ubuntu12.04 添加启动器图标的办法(解决启动器图标消失的问题)
查看>>
珍惜年华
查看>>
github删除项目
查看>>
pageUtil分页工具
查看>>
HDU1175 连连看(DFS)
查看>>
摄影中的曝光补偿、白加黑减
查看>>
数据结构实验2-迷宫
查看>>
select 的字段为空,给他显示默认值
查看>>
[LeetCode] Best Time to Buy and Sell Stock
查看>>
结构化方法与面向对象方法之比较
查看>>