我剛剛注意到這libclang_rt.asan_osx_dynamic.dylib是在我的 macOS 應用程式的發布版本中Contents/Frameworks/目錄的發布版本中。我的印象是地址清理器是一個除錯功能,所以看到這個我很驚訝。我在自定義構建腳本中使用 xcodebuild 來生成應用程式的發布版本。
2個問題:
- 那個 dylib 在發布版本中是錯誤的嗎?
- 如何防止 Xcode 包含它?
uj5u.com熱心網友回復:
你是對的,你不應該在你的應用程式中啟用運行時清理器,它們會消耗不必要的性能,并且通常只針對一小部分受支持的 macOS 版本。
Product > Archive但據我所知,如果您執行創建存檔 ( )的首選發布程序,則它們不包括在內。除了方案之外,我不知道啟用它們,在這里它們不應該影響您的存檔構建。因此,如果您當前只是在 Xcode 中構建并嘗試發布生成的應用程式,那不是您應該發布的內容。
uj5u.com熱心網友回復:
經過調查,這似乎是xcodebuild' 快取的問題。我有一個腳本,可以分析、構建、捆綁應用程式并將其上傳到我們的內容服務器。在腳本開始時,它將運行靜態分析器:
xcodebuild analyze -project "$SCRIPT_DIR/Redacted.xcodeproj" -destination generic/platform=macOS -scheme Redacted -configuration Release CONFIGURATION_BUILD_DIR="$BUILD_DIRECTORY" ...etc...
稍后它將構建專案:
xcodebuild -project "$SCRIPT_DIR/REDACTED.xcodeproj" -target REDACTED -target REDACTED -target REDACTED -parallelizeTargets -destination generic/platform=macOS -configuration Release CONFIGURATION_BUILD_DIR="$BUILD_DIRECTORY" build ...etc...
第二個 xcodebuild 重用了第一個 xcodebuild 創建的工件,這導致地址清理程式 dylib 包含在應用程式的發布版本中。
為了解決這個問題,我讓腳本在靜態分析后洗掉了 $BUILD_DIRECTORY。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/532672.html
上一篇:SwiftUIFocusState在彈出視窗中不起作用
下一篇:如何設定父物件同型別的關系?
