如何不上架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的技术博客阅读 3,058评论 3赞 51
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,111评论 0赞 1
  • ipa 包重签名最新最简单教程 重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 ap...
    红发_KVO阅读 73,814评论 24赞 64
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,295评论 0赞 0
  • 为什么要重签名? 1、在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等)。修改完成以...
    Yochi阅读 8,799评论 9赞 11

友情链接更多精彩内容