首页 > 解决方案 > 自定义构建阶段可以在编译之前修改文件吗?

问题描述

我有一个同时使用 Objective C 和 Swift 的 iOS 应用程序。在包含 Swift 代码之前,该应用程序使用了一个使用 c 宏的记录器。出于安全原因,c 宏随后实现了一种机制,该机制在构建发布版本时删除日志,并且运行良好。

当 Swift 代码启动时,在 c 宏之上创建了一个 Swift 包装器。所以现在来自 Swift 代码的日志实际上调用了 swift 包装器,然后它调用了 c 宏。这是不安全的,发送到 swift 包装器的参数也应该被隐藏,否则攻击者可能仍然会提取一些数据。

我正在考虑运行一个自定义构建阶段(shell 脚本),它会在创建发布构建之前删除所有函数调用,但我怀疑这是可能的。

所以我的问题是:可以添加自定义构建阶段(运行脚本阶段)甚至构建规则在编译之前修改文件吗?还是我必须编写一个脚本,每次发布前我都需要手动运行?

谢谢。

标签: iosxcodebuildcompilationbuild-rules

解决方案


是的,添加预编译构建步骤来运行脚本是完全可以接受的。


推荐阅读