zoukankan      html  css  js  c++  java
  • 新增扩展程序功能打包提交新版 WARNING ITMS-90473 警告问题

    1、问题描述

    • 自从在主应用中加入SiriShortCut功能之后,打包程序上传至 iTunes Connect 就会出现警告,看其原因描述是CFBundleVersion主应用与子应用的不一致导致的
    Prepared archive for uploading
    Uploaded with warnings
    	warning: App Store Connect Operation Warning
    WARNING ITMS-90473: "CFBundleVersion Mismatch. The CFBundleVersion value '1.1' of extension 'ukon.app/PlugIns/CHSiriIntent.appex' does not match the CFBundleVersion value '181212.337' of its containing iOS application 'ukon.app'."
    

    2、问题解决

    • 如果对工程上的初始配置没有修改过,例如:没有使用脚本动态修改CFBundleVersion,那么可以直接使用以下方法解决

    • 2.1 直接修改Build

      • 主程序
      • siriShortCut子程序

      • 只要保证主子程序内容一致就可以了
    • 2.2 动态修改Build

      • 动态修改Build使用脚本来修改,由于主程序中使用了动态修改,子程序中也需要使用动态修改。我这里由于接的是老项目,不了解工程配置,找了好久才找出原因
      • 脚本使用sh脚本
      BUILD_REV=`date +%y%m%d`.`git rev-list HEAD | wc -l | awk '{print $1}'`
      GIT_HASH=`git log --oneline -n 1 | awk '{print $1}'`
      INFO_PATH="${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}
      
      /usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${BUILD_REV}" ${INFO_PATH}
      /usr/libexec/PlistBuddy -c "Delete :GIT_HASH" ${INFO_PATH}
      /usr/libexec/PlistBuddy -c "Add :GIT_HASH string ${GIT_HASH}" ${INFO_PATH}
      
      • 在主程序与子程序中分别创建脚本文件
      • 双击重命名为Update CFBundleVersion(Build Version)
      • 展开粘贴以上脚本
      • 由于脚本中的拼接还使用到了CFBundleShortVersionString,所以还要保持这里一致
      • 主子程序都要修改,其中CFBundleVersion在这里设置无效
      • 至此,就可以动态修改保持主子程序CFBundleVersion一致了,得出的构建版本是:日期 + 应用版本号
  • 相关阅读:
    5分钟搞定图片鉴黄web应用!
    Hibernate session FlushMode的五种设置
    一个不错的设计模式文章
    JVM调优
    PowerDesigner(CDM—PDM—SQL脚本的转换流程) 随笔
    JavaScript获取DOM元素位置和尺寸大小
    文件夹及文件操作
    oracle自定义类型 示例
    存储过程
    处理执行sql语句
  • 原文地址:https://www.cnblogs.com/CH520/p/10112337.html
Copyright © 2011-2022 走看看