xcode 带有iOS和WatchOS标识符更改的Shell脚本

mitkmikd  于 2023-02-13  发布在  iOS
关注(0)|答案(1)|浏览(138)

这可以将所有PRODUCT_BUNDLE_IDENTIFIER修改为abc。但是,如何为这两个iOS标识符修改具有不同值的watchOS标识符?
sed -i -e "s/PRODUCT_BUNDLE_IDENTIFIER =.*/PRODUCT_BUNDLE_IDENTIFIER" = abc;/g" text.txt

{
   2D02E400000000001C7 /* iOS Identifier */ = {
        isa = XCBuildConfiguration;
        buildSettings = {
            PRODUCT_BUNDLE_IDENTIFIER = "com.iOS";
        
        };
        name = Debug;
    };
    2D02E000000000051C7 /* Apple Watch OS Identifier */ = {
        isa = XCBuildConfiguration;
        buildSettings = {
            PRODUCT_BUNDLE_IDENTIFIER = "com.watchOS";
        
        };
        name = Debug;
    };
}
0tdrvxhp

0tdrvxhp1#

这可能会更复杂一些。可能只有一种方法可以只使用sed来完成它,但这是我可以想到的快速破解方法:

id='2D02E400000000001C7'
repl='abc'

if grep -q "$id" file; then
  id_lineno=$(cat -n file | grep "$id" | awk '{ print $1 }')
  sed_lineno=$((id_lineno+3))
  sed -i "${sed_lineno}s/PRODUCT_BUNDLE_IDENTIFIER =.*/PRODUCT_BUNDLE_IDENTIFIER = ${repl};/" file
fi

它假定空白与代码块中显示的完全相同

相关问题