无需XCode,iOS 8+即可更改IPA的最低操作系统版本 [英] Alter Minimum OS Version of IPA without XCode, iOS 8+
问题描述
这是一个远景,但是...我的一个队友因假期休假而被错误地留给了IPA而不是XCode项目,因此迫切需要将其上传到iTunes Connect.问题是,当我尝试通过Application Loader上载IPA时,最低OS版本设置为5.0,并且我收到一个错误,即该版本太低,必须至少为5.1.1.我在这里经历了这个过程: 更改仅提供IPA文件的应用版本(不提供xcode) 通过Info.plist编辑最低操作系统,但是我遇到了与对该问题的最终评论相同的问题,生成的IPA将上载但不会安装.
This is a long shot but... I've been mistakenly left with an IPA instead of an XCode project by a teammate who's gone off on holiday and it urgently needs uploading to iTunes Connect. The problem, when I tried to upload the IPA via Application Loader the Minimum OS version was set to 5.0, and I got an error that this was too low, had to be at least 5.1.1. I went through the process here: Change app Version with only IPA file provided (no xcode) to edit the Minimum OS via the Info.plist but I encountered the same issue as the final comment on this question, the resulting IPA will upload but will not install.
我已经做了很多其他解决方案的搜索,但是只能设法找到旧的iOS 8以前的答案,所有解决方案都与上面的链接相同-如果有人知道是否仍然可以更改最低操作系统不能通过XCode做到这一点的IPA版本非常感谢您的帮助.谢谢.
I've done a ton of searches for other solutions but have only managed to find old, pre-iOS 8 answers, all the same solution as within the link above - If anyone knows if its still possible to alter the minimum OS version of an IPA without being able to do this through XCode much appreciate the help. Thanks.
推荐答案
感谢phix23在尝试安装时给了一个提示检查错误消息的提示,事实证明这是权利的问题.我已解决此问题,将其上传到iTunes Connect并通过TestFlight分发.
Thanks to phix23 who gave a tip to check the error messages when trying to install, it turned out to be an issue with the entitlements. I got this fixed, uploaded to iTunes Connect and distributed via TestFlight.
我遵循了几个步骤来进行排序,以防万一其他人需要这样做.解压IPA并编辑Info.plist以更改最低操作系统后,我需要整理权利.
There were a couple of steps I followed to sort this out which I think are worth noting here incase anyone else needs to do this. After unzipping the IPA and editing the Info.plist to change the Minimum OS, I needed to sort out the entitlements.
- 我使用 nofollow noreferrer>此处执行此操作.我添加了权利
<key>beta-reports-active<key><true/>
(以使用TestFlight)和<key>get-task-allow<key><false/>
&<key>aps-environment<key><string>production<string>
(因为这些在我的配置文件中)在生成授权.xcent之前进入python脚本. - 权利需要与供应配置文件相匹配,我使用
- I created an entitlements .xcent file using the Python 2 script contained in the 5th comment here to do this. I added the entitlements
<key>beta-reports-active<key><true/>
(to use TestFlight) and<key>get-task-allow<key><false/>
&<key>aps-environment<key><string>production<string>
(because these were in my provisioning profile) to the python script before generating the entitlements .xcent. - The entitlements need to match the provisioning profile, I checked those using the commands found here.
- There is also a file inside the *.app called something like
archived-expanded-entitlements.xcent
so I also edited this to match the entitlement.xcent
file I generated with the python script using a text editor. Just to be sure.
辞职时,我遗漏了--resource-rule
选项(这似乎对我不起作用),但是包括了--entitlements
选项,指向授权的.xcent
文件.
When resigning I left out the --resource-rule
option (which didn't seem to work for me) but included --entitlements
option, pointing to the entitlement .xcent
file .
此外,值得注意的是,如果IPA在解压缩时具有有效负载和符号目录,请同时选择它们并压缩到存档中以进行重新压缩,而不仅仅是重新压缩有效负载.
Also, it's worth noting that if the IPA had a Payload and a Symbols directory when unzipped, select them both and compress into an archive to rezip, rather than just rezipping the Payload.
这篇关于无需XCode,iOS 8+即可更改IPA的最低操作系统版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!