重新签署ipa(Iphone)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (114)

目前,我使用xcodebuild和xcrun一起构建我的所有应用程序,没有任何问题。

我从不同的人那里收到了几个ipa文件,我想用一个企业帐户而不是公司帐户重新签名。

我的问题是,当我试图辞职时,应用程序不会安装在我的设备上(而且应该安装,因为它是企业版的)。错误信息在设备上(而不是在iTunes中),它简单地告诉我它无法安装应用程序。

这可能是可能的。我面临的问题是,它似乎没有嵌入移动供应配置文件(使用xcrun),这可以用CoDesign工具控制,还是可以用xcrun重新签名?

用我现在的辞职剧本

  • 解压缩app.ipa
  • appname=$(ls有效负载)
  • xcrun-sdk iphoneos PackageApplication-s“$Providing”_简介“”$project_DIR/有效载荷/$appname“-o”$project_dir/app-regened.ipa“---签署”$备货“_配置文件---嵌入“$MobeProvie”
提问于
用户回答回答于

假设从另一个开发人员那里接收到一个应用程序(例如MyApp.ipa),并且您希望能够在您的设备上安装和运行它(通过使用ideviceinstaller例如)。

准备新签名资产

第一步是获得配置文件,其中包含您希望安装和运行的所有设备。 确保配置文件包含您在钥匙串访问中安装的证书(例如iPhone Developer:Some Body(XXXXXXXXXX))。 下载配置文件(MyProfile.mobileprovision),以便可以替换应用中嵌入的配置文件

接下来,我们将准备一个权利文件,以包括在签名中。打开终端,运行以下命令。

$ security cms -D -i path/to/MyProfile.mobileprovision > provision.plist

这将创建一个xml文件,描述供应配置文件。接下来,我们要将应享权利提取到文件中。

$ /usr/libexec/PlistBuddy -x -c 'Print :Entitlements' provision.plist > entitlements.plist

替换配置配置文件并辞职应用程序

如果使用的是.ipa文件,首先,解压缩应用程序(如果有.APP相反,可以跳过这个步骤)。

$ unzip MyApp.ipa

工作目录现在将包含Payload/Payload/MyApp.app/。接下来,删除旧的代码签名文件。

$ rm -rf Payload/MyApp.app/_CodeSignature

用自己的配置文件替换现有的配置文件(即Embedded.MobileProviding)。

$ cp path/to/MyProfile.mobileprovision Payload/MyApp.app/embedded.mobileprovision

现在用配置文件中包含的证书和前面创建的ghtlements.plist对应用程序进行签名。

$ /usr/bin/codesign -f -s "iPhone Developer: Some Body (XXXXXXXXXX)" --entitlements entitlements.plist Payload/MyApp.app

你会发现这些Payload/MyApp.app/Frameworks.,如果应用程序是用SWIFT编写的,或者它包含任何附加的框架,这些都必须辞职,否则应用程序将安装,但不会运行。

$ /usr/bin/codesign -f -s "iPhone Developer: Some Body (XXXXXXXXXX)" --entitlements entitlements.plist Payload/MyApp.app/Frameworks/*

现在可以重新压缩应用程序。

$ zip -qr MyApp-resigned.ipa Payload

已完成

现在可以删除Payload目录,因为应用程序(MyApp.ipa)和您的辞职版本(MyApp-recened.ipa)。现在,可以将MyApp-recened.ipa安装在配置文件中包含的任何设备上。

热门问答

拯救小助理大作战1: 云+的活动由你来决定!?

青年码农

晨讯科技 · web前端开发高级工程师 (已认证)

公众号【青年码农】:有趣、有料,有深度、有广度、有热度。
活动形式 对于云的实际操作,之前关于云的基本都是文章、视频等形式来对技术的阐述,对于使用云的开发者来说,可能意义不大,而希望的是实际操作,毕竟实际操作遇到的问题才是真正要解决的问题 活动大纲(例) 主题:使用云开发搭建一个小程序或者提供一个后台接口 腾讯云提供了n多个服务,多数服...... 展开详请

实时音视频如何实现画中画的效果?

Cstar

腾讯 · 产品经理 (已认证)

推荐
开启大小画面双路编码模式的接口如下: iOS&Mac:enableEncSmallVideoStream Android:enableEncSmallVideoStream Windows(C++):enableSmallVideoStream Windows(C#):enab...... 展开详请

有没有可以提升运维效率的服务器管理软件,主要功能有哪些,求推荐?

The parameter `SecretKey` is not recognized?

zqfan

腾讯 · 高级工程师 (已认证)

推荐已采纳

报错的意思是参数SecretKey无法识别,接口实际未定义这个字段。

SecretKey是你的密钥,相当于你的账户密码,调用API时是不需要传递的。

桌面浏览器版和安卓版能进入一个实时音视频房间么?

人生的旅途辣鸡前端
推荐已采纳
https://cloud.tencent.com/document/product/647/43019 image.png ... 展开详请

智聆口语评测返回结果里面的评分为0?

1,音频文件要符合16khz采样率16bit位深单声道,如果是mp3文件码率要高于48kbps,否则评分可能会出现偏低或者0 2,VoiceType是否和传入的音频文件一致,文本和音频是否一致. 3,看下sessionId是否在每次评测的时候都是一样的结果导致的   4,在初次...... 展开详请

所属标签

扫码关注云+社区

领取腾讯云代金券