xcodebuild 可以删除项目的Build Folder 的内容吗?

Sup*_*tar 7 xcodebuild compiler-flags

回到 Xcode 9,有一个名为“Clean Build Folder...” ( ???K)的构建选项,它删除了构建文件夹中的所有文件,只留下没有内容的文件夹。从那时起,此行为被删除,菜单项的标题更改为“Clean Build Folder”,现在表现得像以前的“Clean”。

xcodebuild有一个名为的构建选项clean,它与 Xcode 的“Clean Build Folder” ( ??K)做同样的事情,它会留下一些东西。

有没有办法通过可编写脚本的命令删除构建文件夹中的所有文件?


到目前为止我尝试过的:

xcodebuild clean -workspace "My Workspace.xcworkspace" -scheme "My Scheme"
Run Code Online (Sandbox Code Playgroud)

正如我所说,这实际上并没有清理所有内容。为此,我将这个 bodge 添加到我的构建脚本中:

export IS_XCODE_CACHE_FOLDER_PRESENT="`ls -la ~/Library/Developer/ | grep -x "Xcode"`"

if [ 0 -ne "$IS_XCODE_CACHE_FOLDER_PRESENT" ]; then
    echo "Xcode cache folder should not be present at build time! Attempting to delete..."
    rm -rf "~/Library/Developer/Xcode"
    RM_RESULT=$?
    if [ 0 -ne "$RM_RESULT" ]; then
        echo "FAILED to remove Xcode cache folder!"
        exit $RM_RESULT
    fi
fi
Run Code Online (Sandbox Code Playgroud)

HAK*_*HAK 2

我面临着类似的要求。因此,在尝试了几个小时之后,我决定使用自定义脚本而不是使用 Xcode 的运行脚本。

因此,我没有使用 Xcode 在模拟器上运行应用程序,而是使用我的脚本,该脚本首先清理构建文件夹,然后构建项目,然后安装并最终在模拟器中启动应用程序。

这是我用作快速脚本的内容:

 # Delete Build directory
 rm -rf ./build/Build

 # pod install
 pod install

 # Build project
 xcrun xcodebuild -scheme Example -workspace Example.xcworkspace -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 11 Pro Max,OS=13.1' -derivedDataPath build

 # Install App
 xcrun simctl install "iPhone 11 Pro Max" ./build/Build/Products/Debug-iphonesimulator/Example.app/

 # Launch in Simulator
 xcrun simctl launch "iPhone 11 Pro Max" com.ihak.arpatech.Example
Run Code Online (Sandbox Code Playgroud)

注意:请参阅我发布的这个问题以了解我面临的问题。