iOS打包修改.xcodeproj/project.pbxproj工程配置文件

想要修改build号,方法还挺多的,最近也在做一些CI/CD的事情,恰好用到了

  • 手动修改 (笨方法)
  • 脚本修改
    • fastlane/Jenkins的一些插件
    • PlistBuddy 操作Info.plist文件
    • sed指令修改工程配置

感觉以上方法都麻烦,正确做法应该如下这般

 #Info.plist添加`CFBundleVersion`这个字段 值改为 ${CURRENT_PROJECT_VERSION}, 不过大多数情况下新建的工程默认就是这个配置,也无需格外关注
    # 打包之前去执行修改指令 不然需要第二次编译的时候才会出现前一次的build号
     buildNumber=$(date +"%y%m%d%H%M%S")
     agvtool new-version $buildNumber  #设置build号
     agvtool what-version #查看build号

------- 2024/8/30更新

project_file="TestPack.xcodeproj/project.pbxproj"

AppVersion="1.2.3"
echo $AppVersion

BuildNumber=`date +"%y%m%d%H%M%S"`
echo $BuildNumber

BundleID="com.ios.$BuildNumber"
echo $BundleID

AppName="MyApp"
echo $AppName


# 修改 Bundle Identifier
sed -i "" "s/\(PRODUCT_BUNDLE_IDENTIFIER = \).*\(;\)/\1${BundleID}\2/" "$project_file"

#更新下build号
# xcrun agvtool new-version -all $BuildNumber
# 或
sed -i "" "s/\(CURRENT_PROJECT_VERSION = \).*\(;\)/\1${BuildNumber}\2/" "$project_file"

# 修改 Version Number
sed -i "" "s/\(MARKETING_VERSION = \).*\(;\)/\1${AppVersion}\2/" "$project_file"

# 修改 AppName
sed -i "" "s/\(INFOPLIST_KEY_CFBundleDisplayName = \).*\(;\)/\1${AppName}\2/" "$project_file"

posted @ 2024-08-23 22:47  CoderWGB  阅读(52)  评论(0编辑  收藏  举报