我有一个iOS应用程序,它同时使用Objective C和Swift。在包含Swift代码之前,该应用程序使用了一个使用c宏的记录器。出于安全考虑,c宏然后实现了一种机制,在构建发布版本时可以删除日志,而且效果非常好。
当Swift代码开始使用时,在c宏之上制作了一个Swift包装器。所以现在Swift代码中的一个日志实际上调用了Swift包装器,然后它调用了c宏。这是不安全的,发送到swift包装器的参数也应该被隐藏,否则攻击者仍然可能提取一些数据。
我曾考虑运行一个自定义构建阶段(shell脚本(,在创建发布构建之前删除所有函数调用,但我怀疑这是否可能。
所以我的问题是:添加自定义生成阶段(运行脚本阶段(甚至生成规则是否可以在编译文件之前修改文件?还是我必须写一个脚本,每次发布之前都需要手动运行?
谢谢。
是的,添加预编译构建步骤来运行脚本是完全可以接受的。