如何使用 Xcode 12 生成未签名的 IPA

How to generate unsigned IPAs with Xcode 12

提问人:Parth 提问时间:2/19/2021 最后编辑:Parth 更新时间:4/4/2023 访问量:2713

问:

环顾四周后,我想我真正想做的是生成一个未签名的 IPA 文件。我想要一个像 pwn20wndstuff/Undecimus 这样的设置,您可以在其中下载 IPA 文件并使用 Cydia Impactor 安装它。我读到,在Ad Hoc分发中,您需要添加用户的UDID,这是我不想做的。每个版本的 Xcode 似乎都可以通过不同的方式生成未签名的 IPA。但我找不到 Xcode 12 的答案。或者一个标准的、既定的指南/脚本,可以在所有版本的 Xcode 上运行。

一个理想的答案是我可以运行的单个命令,该命令将构建我的项目并将未签名的 IPA 导出到指定目录,该目录可以安装在所有受支持的 iOS 版本的任何 iPhone 上。也许我下面的消息来源已经拥有将其组合在一起所需的所有部分。但是我不是那么擅长,所以我需要这里的人帮忙把它们放在一起。xcodebuild

我在其他答案中看到的事情:

1. 从存档中删除签名:

  1. 来源:如何导出未签名的 IPA

可以使用以下命令轻松创建未签名的 .xcarchive:

xcodebuild archive -project myproj.xcodeproj -scheme 'the scheme' -archivePath unsigned.xcarchive -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

但是,它需要一个“方法”,并且它接受的每个方法似乎都对实际的 IPA 进行签名。exportOptionsPlist

导出后,我可以手动从 IPA 中删除签名,但我希望其中有一个功能可以让我开箱即用地执行此操作。xcodebuild

这可能吗?如果是这样,如何?

  1. 来源:如何为 JasperMobile 构建未签名的 iOS 应用程序(ipa 文件)

这似乎比以前的版本更有条理。但已在旧版本的 macOS 上进行了测试。

$ sed -i -e 's/installer_representation.project./installer_representation.pods_project./' Podfile
$ pod install
$ export projectname="TIBCO JasperMobile" ; export schemename=$projectname
$ xcodebuild archive -workspace "$projectname".xcworkspace -scheme "$schemename" -archivePath "$projectname".xcarchive
CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED=NO[...]
 
** ARCHIVE SUCCEEDED **
 
$ xcodebuild -exportArchive -exportFormat ipa -archivePath "$projectname".xcarchive -exportPath "$projectname".ipa[...]
Moving exported product to '/Users/user/Documents/Source/js-ios-app/TIBCO JasperMobile.ipa'
 
** EXPORT SUCCEEDED **

2. 辞去 IPA:

  1. 来源: 如何重新签署 ipa 文件?

这可能是我想要的最终结果。这仍然会在 IPA 中留下我的开发者帐户签名,这是我不喜欢的。但这个问题的答案并不容易。像Cydia Impactor这样的应用程序可以用来辞职吗?

3. 编辑 Xcode info.plist 文件以禁用代码签名

  1. 来源:如何在 Xcode 中跳过开发版本的代码签名?

同样,这并不理想,因为我必须根据要求不断禁用和启用代码签名。这样做的步骤有点冗长。

  1. 来源:如何导出未签名的 IPA

这种方法是彻头彻尾的破坏性,一点也不理想!:/

我创建了 youtube 视频,该视频是关于在没有开发人员帐户的情况下使用 Xcode 11.x.x 版本创建未签名的 .ipa 文件。

视频标题:如何在 Xcode 11 上制作没有 iOS 开发人员帐户/证书的未签名 IPA

要禁用代码签名,请执行以下操作: • 转到/应用程序,然后右键单击 Xcode.app 并单击“显示包内容” • SDKSettings.plist 位于 >/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.x.sdk

修改 SDKSettings.plist 文件后,重新启动 Xcode。

注意:将“SDKSettings.plist”的备份保存在不同的目录中。

生成未签名的 .ipa 文件后,将 SDKSettings.plist 文件替换为原始 SDKSettings.plist 文件,并删除用户定义设置下的“CODESIGNINGALLOWED”密钥对值。


老问题:如何在 Github 版本下安全地分发 iOS 应用程序的存档,以便任何人都可以快速临时安装我的 iOS 应用程序

就像标题一样,我想知道在新版本下压缩并将我的应用程序的存档文件夹上传到 GitHub 是否安全。我想上传存档,因为它可用于生成 IPA 文件。这可以稍后安装,特别是对于无法从 App Store 安装的旧应用程序版本。

这是否会暴露一些关键的私有应用信息?我的应用程序是基于 firebase 的,我已经添加到 gitignore。但我不确定存档文件夹是否包含此文件。或任何其他与此相关的超级私人文件。GoogleService-Info.plist

如果我不应该上传整个存档,那么我应该如何生成一个通用的 IPA 文件,任何人都可以使用旁加载软件(例如 Cydia Impactor)下载和安装该文件。我可以只上传位于 ?我在某处读到该文件可以复制到文件夹中。然后压缩该文件夹并将其重命名为将我从文件中给我。任何人都可以侧载吗?.appArchive > Products > Applications.appPayload*.ipa.ipa.app

或者是 如何使用 Xcode 创建 .ipa 文件? 我唯一的选择?似乎有点不服气。

iOS Xcode GitHub IPA XcodeBuild

评论

0赞 savram 5/3/2021
你发现了吗?
0赞 Parth 5/3/2021
@savram还没有。但对这个问题的赞成将有助于提高知名度

答: 暂无答案