接口生成器从目标继承模块,选择错误的目标



我有一个有三个方案的项目,(Debug-MyApp,Beta-MyApp,MyApp(。 此项目有三种配置(调试、测试版和应用商店(。此外,每个目标都构建各自的配置。 当我在界面生成器中使用自定义类并使用"从目标继承模块"(默认值(时,它总是选择Beta_MyApp模块而不是我正在构建的任何目标(通常是 Debug-MyApp(。 我在 xibs/情节提要中验证了这一点,因为在 Xcode 中打开文件会导致 customModule 属性设置为 Beta-MyApp。

我还尝试将接口生成器 Xib 默认模块和接口生成器故事板默认模块的项目和目标设置设置为 Debug_MyApp。

最终结果是我的自定义类都没有正确呈现;即使 Designables 说"最新"和"没有发生接口生成器错误"。

我目前的解决方法是将所有模块显式设置为 Debug_MyApp,而不是使用从目标继承模块,这会导致视图正确呈现。

有没有人经历过这种情况/知道如何补救?

不确定到底有什么帮助,因为我做了几件事,但是在上次更改后,我不再遇到从目标继承模块的问题。

  • 将非主目标的显示名称更改为与主目标不同的名称
  • 将project.pbxproj文件中非主要目标的相应IBSC_MODULE(默认模块(属性从例如"MyApp"更新为"调试-MyApp">

似乎在复制现有(主(目标时,Xcode 根本没有更新IBSC_MODULE属性,因此 Interface Builder 认为他使用主目标进行操作,而不是复制目标。从这个角度来看,运行时的错误似乎是合理的。

在 11.2 及更高版本中似乎有一个史诗般的重磅错误......

如果您碰巧更改了显示名称,是的,显示名称,在任何时候...

从那时起,项目在目标方面的整个逻辑似乎完全被弄脏了。

"从目标继承模块"真的不再起作用了,你基本上必须在每个故事板上手动设置每个"模块"字段,只要你改变任何东西。

同样,它似乎确实是一个在 11.0 左右引入的完全重磅错误。

唯一的解决方案只是解决方法 - 手动设置每个故事板。 (当然,如果你错过了一个...崩溃。

最新更新