「javaipa签名」如何给ipa签名

博主:adminadmin 2023-01-23 10:30:10 284

今天给各位分享javaipa签名的知识,其中也会对如何给ipa签名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何重新签名ipa文件

准备

在重签名之前要做一些准备工作。

1.首先要下载并安装Xcode,里面有个codesign_allocate程序,在安装时/usr/bin中会多一个codesign的程序,该程序用于ipa包的签名。

2.企业证书的Certificate文件,私钥文件,Provisioning Profile文件等。注意企业证书一定要是iOS Distribution的类型,不能是iOS Development。

重签名步骤

1.解压ipa

解压ipa得到Payload/[App name].bundle,打开bundle。

2.删除旧的ipa签名信息

删除bundle中的_CodeSignature文件夹,也就是删除之前ipa的签名信息。

3.更换证书

将bundle中旧的Provisioning Profile删除,用我们自己的企业证书的Provisioning Profile替代。

注意,要将ipa包中我们的企业证书改名为embedded.mobileprovision。

4.修改bundle内容

此时我们可以尽情地修改bundle中的内容,例如添加一个动态库,删除一张图片等。

注意:如果要往bundle中添加动态库,必须要先将其压缩成zip文件,在程序启动时将其解压到Documents目录下再dlopen,否则程序在启动时加载动态库文件会卡死在那里。

5.重新签名

在完成bundle内容的修改后,需要通过/usr/bin/codesign程序重新签名,命令如下:

/usr/bin/codesign -f -s "iPhone Distribution: YourCompanyName" --resource-rules Payload/ MYAPP.app/ResourceRules.plist Payload/ MYAPP.app

其中iPhone Distribution可以从钥匙串访问中获取,就是企业证书的名字,例如下面的"iPhone Distribution:XXXXXXXXXX":

具体的命令示例:

codesign -f -s "iPhone Developer: XXXXXXXXXX" --resource-rules Payload/NdCP_Game_Demo.app/ResourceRules.plist Payload/NdCP_Game_Demo.app

这条命令的意思是:使用keychain中"iPhone Developer: XXXXXXXXXX"标识的证书,根据Payload/NdCP_Game_Demo.app/ResourceRules.plist文件中的规则进行签名,如果ipa包中已经存在签名,那么将被替换,该过程生成的_CodeSignature目录将存放在Payload/NdCP_Game_Demo.app目录下。

在命令执行后,在bundle中会生成一个新的_CodeSignature目录,里面包含了新的签名信息。

6.重新打包成ipa

在完成上述工作后,可以生成新的ipa进行发布。示例命令如下:

zip -r ResignTest.ipa Payload

# 注意Payload后面不能有“/”

7.发布

经过打包发布测试,得出结论:对修改了ipa包内容和其中的签名后,重签名的ipa文件可以在非越狱设备和越狱设备上成功安装。注意,是通过带有SSL证书的网站和Apple系统安装的(企业内部分发程序),不是通过PP助手那样的第三方工具安装的。

ipa重签名最直接的教程

重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 appkey 等操作,直接重签名之后依然可以拥有这些功能,更快的发布测试或者灰度版本。

本文介绍三种方式的重签名,当然着重介绍第一种,因为目前来说是签名最全面的,也是最可靠的。

看图说话最直接,下面就看看终端的截图,当出现Successfully signed 路径/xxx.ipa!原来文件夹中的.ipa已经被重签名了。

现在还能用的助手不多了,pp 助手目前还存活,iTools 已经频繁报错没更新了。pp 助手安装 ipa 包的流程大致如下:

看得懂或者熟悉脚本的同学可以前往以下地址: /usr/local/lib/ruby/gems/2.3.0/gems/sigh-2.0.1/lib/assets/resign.sh 或者 /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.61.0/sigh/lib/assets/resign.sh 版本号是根据自己当前 sigh 插件的版本号决定的(直接执行此脚本可以重签多 target 的 ipa: ./resign.sh YourApp.ipa "iPhone Distribution: YourCompanyOrDeveloperName" -p "bundel id"=path_to_provisioning_profile_for_app.mobileprovision -p "bundel id"=path_to_provisioning_profile_for_watchkitextension.mobileprovision -p "bundel id"=path_to_provisioning_profile_for_watchkitapp.mobileprovision -p "bundel id"=path_to_provisioning_profile_for_todayextension.mobileprovision resignedYourApp.ipa )

Github的官方 read me 提示: This app requires Xcode to be installed, it has only been successfully tested on OS X 10.11 at this time.

参考文章:

iOS ipa包重新签名

ipa重签名

iOS 应用重签名上

iOS ipa重签名终极傻瓜版(含动态framework、entitlements)

iOS App 签名的原理

ios app 开发中ipa重新签名步骤介绍

iOS ipa重签名工具 - iOS App Signer

怎么给ipa文件签名 未越狱在线安装

有几种方法

一种是用cydia impactor,可以用免费的开发者账号签名ipa文件,签好后直接就安装了。这种只适合于给自己的手机安装,因为要拿到机器,连接你自己的电脑才可以操作。而且只能使用7 天。

还有一种方法是到某宝用企业证书签名,费用不等。签好名之后可以直接上传到蒲公英之类的网站上进行在线安装。缺点是企业证书一般会签大量的ipa,容易闪退。

一种是用ipa在线签名,比如内测侠,只需要填写udid和上传ipa文件就可以直接在线安装。这种相当于是共享开发者账号,相对简单。缺点是必须要提供udid。

java 怎么向ipa写入数据

iOS打包成ipa后的code的大致目录结构如下:

众所周知iOS打包code需要代码签名,因此除了_CodeSignature文件夹下,其它部分的数据不能变更,否则将会无法安装;

该路径如下:

/var/containers/Bundle/Application/552AC6DC-F3CC-4DC9-BA94-1820D91A3326

关于javaipa签名和如何给ipa签名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。