我正在使用框架来开发Cocoa应用程序。该框架按预期在Versions / A / Headers路径中公开其公共头。
一旦我编译好的应用程序构建到位,我有什么办法可以隐藏/删除这个标题?这会影响我的应用程序运行时的任何功能或方法调用吗?
答案 0 :(得分:2)
您可以在构建时使用“运行脚本”构建阶段删除框架标头。您需要在“复制框架”构建阶段之后创建一个新的“运行脚本构建阶段”。而这个新阶段应该执行像
这样的事情FRAMEWORKS_DIR="${TARGET_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks"
FRAMEWORK_NAME="3rdParty.framework"
if [ -d "${FRAMEWORKS_DIR}/${FRAMEWORK_NAME}/Versions/A/Headers" ]; then
rm "${FRAMEWORKS_DIR}/${FRAMEWORK_NAME}/Versions/A/Headers/"*".h"
rm -r "${FRAMEWORKS_DIR}/${FRAMEWORK_NAME}/Versions/A/Headers"
rm "${FRAMEWORKS_DIR}/${FRAMEWORK_NAME}/Headers"
fi
最后,应用目标构建阶段应该看起来像
屏幕截图还包含与问题命令无关的内容:
set -euo pipefail
以便整个脚本在某些命令失败时失败; set -x
以便打印已执行的命令以构建日志。