今天一直困扰着我。在我的iOS项目中,我有一个预编译脚本,在编译“UITests”目标之前运行。它将项目构建的git分支添加到plist中。非常方便,我也可以为我的主目标/主要包工作。
它似乎更新了测试的Info.plist
,但是当我打开断点并将包转储到lldb时,这些更改没有反映出来,我明白了:
(lldb) po [[NSBundle bundleForClass:[self class]] infoDictionary]
{
...
"GIT_BRANCH" = "";
...
//other bundle crap
}
这很奇怪,因为如果我在xcode中查看测试目标的plist,我会看到:
所以,我疯了吗?怎么可能不在我编译的测试中?谢谢你的帮助。它第二次运行它“工作”,但这不会削减它。我需要一个清理脚本在编译后运行,以便脏的plist不会破坏我的源代码控制。
我从其他帖子的回答中得到了这个想法:https://stackoverflow.com/a/29515958/4040373