使用企业账号为iOS应用签名遇Fabric设备配置文件缺失问题咨询
解决方案:企业账号用Xcode9自动签名+Fabric分发时提示配置文件缺设备
我之前也踩过这个一模一样的坑,折腾了好几个小时才搞定,给你几个亲测有效的解决步骤:
1. 排查Xcode自动签名的配置文件类型
Xcode自动签名有时候会“自作主张”生成带设备列表的Ad Hoc配置文件,而非企业账号专属的无限制In-House配置,这是核心问题:
- 打开Xcode项目的
Signing & Capabilities页面,确认Automatically manage signing已勾选,团队选择你的企业账号; - 进入
Build Settings,搜索Provisioning Profile,确保值为Automatic; - 手动清理旧配置:打开Xcode偏好设置→
Accounts→选中企业账号→点击Download Manual Profiles,或者直接删除~/Library/MobileDevice/Provisioning Profiles下的所有文件,重启Xcode后重新归档,让Xcode重新生成正确的In-House配置文件。
2. 修正Fabric分发时的签名选项
Fabric默认可能沿用旧的签名配置,你需要手动指定企业账号的专属配置:
- 当Fabric提示“分发新归档”时,不要直接点下一步,进入签名设置环节;
- 勾选
Use manual signing,从下拉列表中选择In-House类型的配置文件(名称一般包含“In-House”字样,注意和Ad Hoc区分); - 如果列表里没有正确的配置,先去苹果开发者后台生成并下载In-House配置文件,导入Xcode后重启Fabric重试。
3. 验证归档包的配置文件正确性
归档后先确认包内用的是正确的In-House配置:
- 在Xcode的
Organizer里选中归档包,右键Show in Finder; - 右键
.xcarchive文件→Show Package Contents,进入Products/Applications/你的App.app; - 右键
.app文件→Show Package Contents,找到embedded.mobileprovision用文本编辑器打开; - 搜索
ProvisionedDevices字段,In-House配置的这个字段应该不存在或为空;如果有一串设备UDID,说明是Ad Hoc配置,需要回到Xcode重新调整签名设置。
4. 清理Fabric缓存
Fabric的旧缓存可能导致配置识别错误:
- 完全退出Fabric Mac应用;
- 删除
~/Library/Caches/com.crashlytics.mac文件夹下的所有内容; - 重启Fabric,重新导入归档包再尝试分发。
5. 确认开发者后台的配置状态
最后去苹果开发者后台检查配置:
- 登录后台进入
Certificates, Identifiers & Profiles→Provisioning Profiles; - 找到你的In-House配置文件,确认状态为
Active,关联正确的App ID,且没有绑定任何设备(In-House配置本就不需要设备列表); - 如果配置异常,直接删除后重新生成In-House配置,下载导入Xcode即可。
内容的提问来源于stack exchange,提问作者emreoktem
相关产品推荐
相关产品推荐

