实例1:需求是这样的,项目一个是企业包、一个是线上包(也就是发版到APPStore的包),这两个包BundleID不同,当然用到的证书配置文件也不同;
实例2:测试要求打包后把项目名字用版本号+时间命名(这就需要读取项目的Version)
废话不多少了:cd到项目目录
Project_Name="XXX"
#获取BundleID
PRODUCT_BUNDLE_IDENTIFIER=`sed -n '/PRODUCT_BUNDLE_IDENTIFIER/{s/PRODUCT_BUNDLE_IDENTIFIER = //;s/;//;s/^[[:space:]]*//;p;q;}' ./${Project_Name}.xcodeproj/project.pbxproj`
#获取Version
VERSION_NUMBER=`sed -n '/MARKETING_VERSION/{s/MARKETING_VERSION = //;s/;//;s/^[[:space:]]*//;p;q;}' ./${Project_Name}.xcodeproj/project.pbxproj`
通过上边的代码你应该能找到规律“PRODUCT_BUNDLE_IDENTIFIER”、“MARKETING_VERSION”这些关键字是从哪里找到的,那就上图吧