Flutter构建iOS提示No profiles for 'xxxx.onesignal'错误如何解决
Flutter iOS构建OneSignal相关报错修复方案
解决Bundle ID注册提示已存在问题
你在Apple开发者后台注册ID提示重复但自己账号下找不到,按以下步骤处理:
- 先确认待注册的
xxxx.onesignal格式Bundle ID的前缀,是否和你当前使用的开发者账号的Team ID完全一致,前缀不匹配时会提示其他用户已注册该ID,替换为自己账号的Team ID作为前缀即可重试。 - 如果确认前缀属于自己的账号,在Apple开发者后台「证书、ID和配置文件」的Identifiers页面,开启右上角的「显示已删除ID」过滤器,很多时候是之前删除过的同ID未到7天自动释放期,占用了名额。你可以等待自动释放,也可以直接修改OneSignal扩展的Bundle ID后缀(比如改成
xxxx.onesignalext),同步在Xcode中修改OneSignalNotificationServiceExtensiontarget的Bundle ID即可。
解决No provisioning profiles报错
- 打开Xcode的Runner项目,选中顶部的Runner项目根节点,在Targets列表找到
OneSignalNotificationServiceExtension - 切换到「Signing & Capabilities」标签,勾选「Automatically manage signing」,选择和主Runner target相同的开发者团队
- 如果使用flutter命令行执行构建,在命令后添加
-allowProvisioningUpdates参数,示例:flutter build ipa --release --allowProvisioningUpdates
解决Runner entitlements不匹配警告
两种处理方案二选一即可:
- 如果你需要用到提示中的三个权限:打开Runner target对应的
Runner.entitlements文件,手动添加三个权限键,类型均为Boolean,值设为YES:com.apple.developer.usernotifications.time-sensitivecom.apple.developer.usernotifications.communicationcom.apple.developer.fileprovider.testing-mode
- 如果你不需要用到这三个权限:登录Apple开发者后台,找到主应用对应的Identifier,在Capabilities列表关闭对应三个功能的开关,重新生成配置文件后回到Xcode刷新配置即可。
内容的提问来源于stack exchange,提问作者Soto-kun
相关产品推荐
相关产品推荐

