最後
還是分享一下成品 LeakDetect
brew install mint
mint install yume190/LeakDetect
因為餵給 xcodebuild 的參數是使用 scheme
而不是 Target Name
一些檔案名稱或路徑就能夠判斷是哪一種類型
.xcodeproj
.xcworkspace
package.swift
因此能做一定程度的判斷
@Option(name: [.customLong("targetType", withSingleDash: false)], help: "[\(TargetType.all)]")
var targetType: TargetType = .auto
這個情況會缺少太多來自設定檔案的編譯參數
最少還需要兩個參數才能編譯
/usr/bin/xcrun --sdk iphoneos --show-sdk-path
arm64-apple-ios11.0
x86_64-apple-ios11.0-simulator
$SDK_PATH
leakDetect 也能夠輸入額外參數
leakDetect ... -- arg1 arg2
除了可以指定 module name 以外
如果沒特別指定 module name,主要的輸入檔案名稱將成為 module name
下面這個例子 module name
為 xxx
leakDetect --file xxx.swift
leakDetect --file main.swift -- file1.swift file2.swift
leakDetect \
--module "SCHEME NAME" \
--file Sample.xcworkspace
leakDetect \
--module "SCHEME NAME" \
--file Sample.xcodeproj
# spm
leakDetect \
--module TARGET_NAME \
--file .
# file
leakDetect \
--sdk macosx \
--file xxx.swift
cursor info
cursor info
的執行時間不低