所以我即将更新我的应用程序,但我遇到了问题。在我的主屏幕上,我有一系列导致不同视图的UIButton。我使用Interface Builder创建了UIButtons。
在我的最新更新中,我想要禁用按钮,直到从服务器下载相应的数据。出于某些奇怪的原因,我在Interface Builder中对NIB所做的任何更改都不起作用。例如,我在IB中禁用了一个按钮,但是当我构建时它仍然处于活动状态。跑。就像它使用之前版本的NIB一样。我尝试删除NIB中的按钮,但它们仍会显示在模拟器或设备中。我找到修复它的唯一方法,虽然不是很理想,但是删除设备或模拟器的整个应用程序并安装新的副本。但我的用户可能不会这样做。他们只需从App Store下载更新。
我在跑步前也尝试过清洁,但也没用。
有什么想法???这是一个Interface Builder的错误吗?
编辑:我想我可以重命名nib并强制更新加载自己的新版本。
UPDATE:重命名主NIB文件会强制设备/模拟器更新文件。我真的认为这是某个地方的错误。我的代码有时可能很草率,但我知道如何启用/禁用按钮。
答案 0 :(得分:0)
这不是你的错。这是Xcode(在上述问题提出一年多之后)在运行之前将资源安装到app模板或模拟器或设备中的缺陷。它复制新的或更改的资源(这很好,因为它缩短了安装时间)但它不删除过时的资源。当我在一些视图控制器中使用.xib文件时,这种行为让我感到困惑 - 我实际上是从项目中删除了它们,但是视图控制器仍然无论如何都要加载它们,这让我感到神秘和令人不安,直到我发现了什么上。
在安装之前从模拟器或设备中删除应用程序,将强制删除旧资源,下一次安装将只包含您构建中指定的资源。
我还在努力寻找解决方案;如果我想到它,我会在我想出一些东西的时候更新这个答案。
从App Store或.ipa文件安装时,不会出现此问题 - 此安装过程似乎会重新安装资源。