无越狱IPhone安装多个同样应用的方法(二)Xcode签名

无越狱IPhone安装多个同样应用的方法(二)Xcode签名_第1张图片

回顾

手动重签名的过程(重新梳理)

准备

  • 越狱的ipa包
  • 一个可以开发的开发者账号
  • codesignsecuritychmodzip命令工具
  • 创建重新签名App的工程 MsignDsemo

操作

  1. 干掉Plugins文件夹中的所有插件
  2. watch文件夹干掉
  3. 通过命令工具codesign对Frameworks文件夹中的所有动态库加密
    • codesign -fs "你的证书" 签名的文件
  4. 给MachO文件可执行的权限
    • chmod +x WeChat
  5. Bunild MsignDsemo 得到 MsignDsemo.app 复制embedded.mobileprovision文件到越狱包中的.app文件夹里
  6. 将越狱包中Info.plist文件中的bundle Identifier 换成MsignDsemobundle Identifier
  7. 查看embedded.mobileprovision权限字典,copy生成权限*.plist
    • security cms -D -i embedded.mobileprovision
  8. 使用权限*.plist文件签名整个app 也就是 Payload文件夹
    • codesign -fs "证书" --no-strict --entitlements=权限文件plist 你的应用.app
  9. 打包ipa文件
    • zip -ry WeChat.ipa Payload
  10. 使用Xcode安装ipa文件

正文

使用Xcode进行签名,因为在很多时候我们在做手动重签名的时候,iOS版本升级,或者Apple在改变了签名的规则,那么我们在按照上面所述的内容进行重签名就不行了,上述的步骤都是写死的,我们思考一下,在我们打包的过程中都是在哪里打包的?是在Xcode,签名的规则改不改变Apple知道,但是Xcode是肯定能够签名的!

准备

  • 创建一个项目XcodeCodeSignDemo
  • 一个越狱的ipa包 test.ipa

步骤

  1. 首先解压test.ipa
  2. 修改test.app里面的Info.plist中的bundle identifier (XcodeCodeSignDemo的bundle identifier )
  3. 签名test.app中的Frameworks中的动态库
    • codesign -fs "你的证书" 签名的文件
  4. 添加MachO的可执行权限
    • chmod +x WeChat
  5. Pluginswatch还是需要干掉
  6. 打开XcodeShow in FinderProducts文件夹下的.app替换成越狱修改好的.app替换,名字要跟工程的名字一样
  7. 直接Run


你可能感兴趣的:(无越狱IPhone安装多个同样应用的方法(二)Xcode签名)