前言
前段时间在淘宝上买了一个iOS的企业证书,现在有需求要写一个demo测试一下,证书导入到xcode中才发现证书不能签名,只能用来安装。所以就想着先用xcode打包一个ipa,然后手动签名安装上去。
但是目前网上能搜到的方法似乎都是老方法,不适用目前最新的xcode 16.2。所以记录一下解决问题的过程。
环境如下
Xcode 16.2
macOS 15.2
签名设置
在xcode中打开项目之后,同样需要修改为Release模式。
找到状态栏Product–Scheme–Edit Scheme

打包选项修改为Release

设备选择器中选择真机,不能使用模拟器

此时直接打包,xcode会直接尝试签名,然后安装。由于没有签名,所以也无法安装,无法构建成功。所以此时需要禁用签名和安装。
打开项目设置的Build Settings

下拉,找到Signing,将Code Signing Identiy改为空(双击,选择Other...置空即可),再将Code Signing Inject Base Entitlements改为No,图下图

打包过程
此时就可以打包了。但是不能使用build,应当使用Product–Archive,点击

在构建完成后,会弹出Archives窗口,如下

如果没有弹出,就在Window–Organizer中手动打开

右键构建好的应用,选择Show in Finder

此时会跳转到Finder中,找到构建完毕的包,但此时并非.app,而是.xcarchive。.app就在.xcarchive中。右键.xcarchive,选择显示包内容

进入Products-Applications文件夹,即可看到.app

这是我们新建一个文件夹名为Payload,将.app放入其中,将Payload文件夹压缩为zip,后缀改为.ipa即可。后续就可以使用其他的方式进行安装了。