ios - 自定义构建阶段可以在编译之前修改文件吗?
问题描述
我有一个同时使用 Objective C 和 Swift 的 iOS 应用程序。在包含 Swift 代码之前,该应用程序使用了一个使用 c 宏的记录器。出于安全原因,c 宏随后实现了一种机制,该机制在构建发布版本时删除日志,并且运行良好。
当 Swift 代码启动时,在 c 宏之上创建了一个 Swift 包装器。所以现在来自 Swift 代码的日志实际上调用了 swift 包装器,然后它调用了 c 宏。这是不安全的,发送到 swift 包装器的参数也应该被隐藏,否则攻击者可能仍然会提取一些数据。
我正在考虑运行一个自定义构建阶段(shell 脚本),它会在创建发布构建之前删除所有函数调用,但我怀疑这是可能的。
所以我的问题是:可以添加自定义构建阶段(运行脚本阶段)甚至构建规则在编译之前修改文件吗?还是我必须编写一个脚本,每次发布前我都需要手动运行?
谢谢。
解决方案
是的,添加预编译构建步骤来运行脚本是完全可以接受的。
推荐阅读
- flutter - 在 Flutter 中移除 Material 小部件的水平阴影
- python - Pandas Groupby 在列的特定值上
- linux - LD_LIBRARY_PATH 的问题
- reactjs - React 前端和 Apollo Graphql 服务器部署
- processing - 导入的 processing.py 模块在哪里?
- javascript - JavaScript - 查找所有组合,包括单独和双重组合?
- elasticsearch - Elasticsearch 查找距离一组参考点最远的地方
- java - 为什么在 Android Studio 中没有解析活动名称
- google-apps-script - G Suite Add-on 拒绝连接到驱动器?如何解决“drive.google.com 拒绝连接”错误?
- css - 为什么边界半径的 css 过渡不能在 safari 中工作?