You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitrise部署iOS时OneSignal扩展与主应用版本不匹配求助

解决Bitrise部署iOS应用时ITMS-90473版本不匹配问题

核心问题原因

OneSignalNotificationExtension扩展的CFBundleVersion和CFBundleShortVersionString与主应用不一致,Apple虽允许部署成功,但会触发合规性提醒邮件。

具体解决步骤

  • 统一版本号配置源
    创建共享的.xcconfig配置文件,集中管理版本号,让主应用和扩展target共用同一配置:

    1. 新建VersionConfig.xcconfig文件,写入:
      MARKETING_VERSION = 7.0.0
      CURRENT_PROJECT_VERSION = 6723
      
    2. 在Xcode中,给主应用和OneSignalNotificationExtension的target都添加这个配置文件(路径:Project -> Info -> Configurations)。
    3. 进入每个target的Build Settings,找到Versioning区域,确认Marketing Version和Build Number是基于配置文件的取值。
  • 修复Bitrise workflow配置
    如果用Bitrise的版本自动更新步骤,确保步骤覆盖所有相关target:

    • 使用Set Xcode Project Build Number步骤时,在Target names字段中同时填入主应用和OneSignalNotificationExtension的target名称;
    • 若步骤支持All targets选项,直接勾选该选项,避免遗漏扩展target。
  • 手动校验Xcode项目配置
    打开Xcode,逐一检查两个target的Build Settings:

    • 确认CFBundleShortVersionString(对应Marketing Version)的值完全相同;
    • 确认CFBundleVersion(对应Build Number)的值完全相同;
    • 执行Cmd+Shift+K清理项目缓存,重新归档测试,排除旧缓存干扰。
  • 检查CocoaPods引入的扩展版本
    如果OneSignal是通过CocoaPods引入:

    • 检查Podfile,确保没有固定OneSignalNotificationExtension的版本号导致版本脱节;
    • 执行pod install后,手动查看Pods/OneSignalNotificationExtension/Info.plist中的版本号,若不一致则手动修改,再重新归档部署。

内容的提问来源于stack exchange,提问作者James B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:28:21