无付费Apple账号,如何用客户的Provisioning Profile在Expo EAS发布iOS应用至App Store
Expo iOS 发布解决方案(无付费开发者账号+客户个人账号场景)
1. 是否有比使用Provisioning Profile更好的发布方式?
有两种更高效的替代方案:
- 方案一:直接让客户上传IPA包
你通过EAS构建适配App Store的IPA包,客户使用苹果官方的Transporter工具(Mac/iOS均可使用)将IPA上传至App Store。此方式无需客户生成Provisioning Profile,仅需客户提前在App Store Connect创建对应应用条目和匹配的App ID。 - 方案二:获取App Store Connect有限权限
若客户允许开放部分权限,可让其在App Store Connect中为你添加App Manager角色(个人开发者账号支持该角色)。获得该权限后,你可直接通过EAS提交应用至App Store,无需共享开发者账号密码,且无需手动管理签名文件。
2. 如何指导客户生成并发送Provisioning Profile?
需让客户按以下步骤操作(需在Mac设备上完成):
- 登录Apple开发者后台,进入「Certificates, Identifiers & Profiles」
- 确认/创建App ID:进入「Identifiers」页面,检查是否存在与你应用bundle ID完全一致的App ID。若没有,点击「+」创建,类型选「App」,填写bundle ID,按需启用对应服务(如推送通知)。
- 生成分发证书:进入「Certificates」→「+」,选择「Apple Distribution」,按提示生成CSR文件(通过Keychain Access→证书助理→从证书颁发机构请求证书,保存到本地),上传CSR后下载生成的.cer证书,双击安装到Keychain。
- 生成Provisioning Profile:进入「Profiles」→「+」,选择「App Store」类型,选中对应App ID和刚生成的分发证书,设置Profile名称后点击生成,下载得到.mobileprovision文件。
- 导出证书文件:在Keychain Access中找到安装的分发证书,右键选择「导出」,保存为.p12格式并设置保护密码,将.p12和.mobileprovision文件一同发送给你。
3. 无Mac设备时,如何在Expo EAS中使用该Profile发布应用?
按以下步骤操作:
- 确保已安装
eas-cli,执行eas login登录你的Expo账号。 - 在项目根目录创建
credentials.json文件,填入签名资源路径和信息:
{ "ios": { "provisioningProfile": "./your-profile.mobileprovision", "distributionCertificate": { "path": "./your-cert.p12", "password": "证书导出时设置的密码" } } }
- 执行构建命令:
eas build --platform ios --profile production,EAS会自动读取credentials.json中的签名资源完成构建。 - 若要发布到App Store,构建完成后可执行
eas submit --platform ios,或让客户通过Transporter工具下载IPA包后上传。
注意:如果之前使用过EAS自动签名,需先执行
eas credentials,切换为「Manual」模式后选择自定义签名资源。
内容的提问来源于stack exchange,提问作者sama
相关产品推荐
相关产品推荐

