加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

iOS整改ipa并重新签名打包

发布时间:2023-03-25 11:24:54 所属栏目:教程 来源:
导读:iOS修改ipa并重新签名打包

1. 解压ipa包
在cmd终端,cd到ipa所在目录下,输入以下命令:

# test.ipa:需要解压的ipa文件

unzip -q test.ipa
解压后当前目录下生成 Payload 文件夹,在对应的app文件右键->
iOS修改ipa并重新签名打包

1. 解压ipa包
在cmd终端,cd到ipa所在目录下,输入以下命令:

# test.ipa:需要解压的ipa文件

unzip -q test.ipa
解压后当前目录下生成 Payload 文件夹,在对应的app文件右键->显示包内容,查看app内容

2. 修改ipa信息
现在可以修改app里面的信息,修改应用名只需要修改info.plist即可,info.plist文件中找到CFBundledisplayName和CFBundleName,修改对应的值保存即可 

修改版本号只需要修改info.plist文件中CFBundleShortVersionString和CFBundLeversion对应的值 

修改包名只需要修改info.plist文件中CFBundleIdentifier对应的值

修改应用图标只需要替换对应的图标文件

3. 重新签名并打包ipa
在 终端输入以下命令移除旧的签名信息

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 文件
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章