首页 > 解决方案 > 如何使用 Xcode 12 生成未签名的 IPA

问题描述

环顾四周,我想我真正想做的是生成一个未签名的 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

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

我可以在导出 IPA 后手动从 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.xx 版本创建未签名的 .ipa 文件。

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

要禁用代码签名: • 转到 /Applications 然后右键单击 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 文件,并删除 User-Defined settings 下的“CODESIGNINGALLOWED”密钥对值。


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

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

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

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

或者是如何使用 Xcode 创建 .ipa 文件?我唯一的选择?好像有点不合时宜。

标签: iosxcodegithubipaxcodebuild

解决方案


推荐阅读