iOS修改ipa并重新签名打包 | 您所在的位置:网站首页 › ios饥荒修改 › iOS修改ipa并重新签名打包 |
1. 解压ipa包
在cmd终端,cd到ipa所在目录下,输入以下命令: # # test.ipa:需要解压的ipa文件 # unzip -q test.ipa解压后当前目录下生成 Payload 文件夹,在对应的app文件右键->显示包内容,查看app内容 现在可以修改app里面的信息,修改应用名只需要修改info.plist即可,info.plist文件中找到CFBundleDisplayName和CFBundleName,修改对应的值保存即可 修改版本号只需要修改info.plist文件中CFBundleShortVersionString和CFBundleVersion对应的值 修改包名只需要修改info.plist文件中CFBundleIdentifier对应的值 修改应用图标只需要替换对应的图标文件 在 终端输入以下命令移除旧的签名信息 rm -r -f Payload/test.app/_CodeSignature将签名的配置文件 developer.mobileprovision 放入当前文件夹,使用以下命令生成plist文件: # # developer.mobileprovision:签名配置文件 # ProvisioningProfile.plist: 解码生成的plist文件 # security cms -D -i developer.mobileprovision > ProvisioningProfile.plist使用以下命令从生成的plist文件中提取生成权限相关的plist文件:Entitlements.plist /usr/libexec/PlistBuddy -x -c 'Print Entitlements' ProvisioningProfile.plist > Entitlements.plist输入命令将签名配置文件 developer.mobileprovision 拷贝并重命名放入对应的app包内 # # developer.mobileprovision: 签名配置文件 # cp developer.mobileprovision Payload/test.app/embedded.mobileprovision如果存在依赖库和框架,使用以下命令对依赖库和框架进行签名 # # distributionCertificate:签名使用钥匙串中证书的名称 # if [[ -e Payload/test.app/Frameworks ]]; then cd Payload/test.app/Frameworks echo "Resigning embedded Swift libraries..." swiftLibraries=$(find . -name '*dylib') SDK_PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/" for dylib in $swiftLibraries; do codesign -f -s distributionCertificate "$dylib" done frameworks=$(find . -name '*framework') echo "Resigning embedded frameworks..." for framework in $frameworks; do codesign -f -s "distributionCertificate "$framework" done cd ../../.. fi使用以下命令对修改后的app包进行签名并重新打包成新的ipa # # distributionCertificate:签名使用钥匙串中证书的名称 # codesign -f -s distributionCertificate --entitlements Entitlements.plist Payload/test.app # # modify.ipa: 新生成的ipa文件 # zip -q -r modify.ipa Payload SwiftSupport Symbols最终生成的modify.ipa就是我们最终要用的ipa 文件 |
CopyRight 2018-2019 实验室设备网 版权所有 |