如何不上架AppStore(重签名)

前言

自己开发的或朋友给的 .ipa or .app 如何理所当然的安装到你想要安装的手机上?


解决方案

除了上架 App Store 我们还可以利用 重签名 让我或者公司开发的 app 安装到非测试设备上,也就是本文主要内容。

准备工作

1、需要被重签名app、archive包、 ipa

2、$ 299 企业开发者账号 or 企业证书(P12文件)+ 与此证书相匹配的任意描述文件(.mobileprovision)

3、有效的证书(可以在钥匙串中查找),记录一下企业证书名称备用


证书

4、.mobileprovision 配置描述文件** (以下三种获得途径)

  • 存储路径:~/Library/MobileDevice/Provisioning Profiles 拷贝出来重命名 embedded.mobileprovision

  • 可以在 Xcode 中找一个有效的,右键 show in finder,将文件复制出来,重命名为 embedded.mobileprovision

    描述文件

  • 解压又当前企业账号build后的到app 显示包内容 得到 embedded.mobileprovision 拷贝出来备用

embedded.mobileprovision

(* 注:安装包与描述文件放到同一目录下,我这里全部都放到桌面)

重签名

新建 Demo 项目, 用我个人账号对编译出 Demo.app ,再用企业账号对 Demo.app 重签名。

1、选择非企业开发者账号编译工程得到 Demo.app ,拷贝到桌面与上面得到的 embedded.mobileprovision 放到同一目录下
Demo.app

Show in Finder

Show in Finder

显示包内容

包内容

准备工作 的第4步中 embedded.mobileprovision 拷贝到这里进行替换

2、 生成 entitlements.plist 文件

先通过“security”命令,从 mobileprovision 文件中生成一个完整的 plist 文件
命令 : security cms -D -i "mobileprovision文件" > "entitlements文件"

命令-1

得到结果:


我们只是为了得到里面的 Entitlements 字段,使用如下的命令
命令 : /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' tmp_entitlements.plist > Entitlements.plist

命令-2

得到结果:


3、签名

命令 : codesign -f -s "证书" --entitlements "entitlements文件" "需要签名的app文件"

命令-3

新建文件夹 Payload,将 Demo.app 拷贝到文件夹 Payload 中执行命令
命令:zip -r new_demo.ipa Payload


总结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 准备工作 代码签名 (code signing) 对一个App来讲至关重要,是iOS系统安全的重要组成部分,决定了...
    pandora的技术博客阅读 2,993评论 3 51
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,094评论 0 1
  • ipa 包重签名最新最简单教程 重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 ap...
    红发_KVO阅读 73,512评论 24 64
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,279评论 0 0
  • 为什么要重签名? 1、在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等)。修改完成以...
    Yochi阅读 8,738评论 9 11

友情链接更多精彩内容