Xcode 13 个 nib 文件更改未反映在构建中
Xcode 13 nib file changes not reflected in build
我正在 Xcode 13.4 中从事一个已有 10 年历史的 Xcode 项目。尽管该项目很旧,但它已更新为现代项目设置和 API。没有警告,没有错误,编译后的应用程序运行正常。
但是,对 MainMenu.nib 文件所做的更改在编译后不会反映在应用程序中。显示的用户界面是旧版本。
当我删除或重命名 nib 文件时,应用程序不再运行,这证明我正在使用的 nib 文件是应用程序使用的真实 nib 文件。
当我在 nib 中更改 NSImage
中使用的图像资产文件时,新图像会在应用程序中正确显示,但不会显示任何其他更改。
我试过了(没用):
- 清理构建
- 删除 DerivedData 中的所有内容
- 重启Xcode
- 重启整个 Machine (Mac mini M1)
- 用 nib 文件的副本替换它
- 用它的副本替换整个项目
- 更改本地化,删除所有本地化
- 更改“剥离 NIB 文件”构建设置
- 更改“主 nib 文件基本名称”并重命名 nib 文件
- 从项目中删除与 nib 文件相关的所有内容,然后再次添加 nib
- 禁用 NIB 编码器,如 Xcode release notes
中所述
- 正在删除“/var/folders”下包含 DeveloperTools 和我的项目名称的所有内容。
- 使用 Interface Builder 创建新的 NIB 文件和copy/pasting一切
如有任何帮助,我们将不胜感激。
终于找到解决办法:在Finder中打开nib文件,right-click,select“显示包内容”。
删除所有名为 keyedobjects-*.nib
的文件,但保留 keyedobjects.nib
.
构建并运行。
我正在 Xcode 13.4 中从事一个已有 10 年历史的 Xcode 项目。尽管该项目很旧,但它已更新为现代项目设置和 API。没有警告,没有错误,编译后的应用程序运行正常。
但是,对 MainMenu.nib 文件所做的更改在编译后不会反映在应用程序中。显示的用户界面是旧版本。
当我删除或重命名 nib 文件时,应用程序不再运行,这证明我正在使用的 nib 文件是应用程序使用的真实 nib 文件。
当我在 nib 中更改 NSImage
中使用的图像资产文件时,新图像会在应用程序中正确显示,但不会显示任何其他更改。
我试过了(没用):
- 清理构建
- 删除 DerivedData 中的所有内容
- 重启Xcode
- 重启整个 Machine (Mac mini M1)
- 用 nib 文件的副本替换它
- 用它的副本替换整个项目
- 更改本地化,删除所有本地化
- 更改“剥离 NIB 文件”构建设置
- 更改“主 nib 文件基本名称”并重命名 nib 文件
- 从项目中删除与 nib 文件相关的所有内容,然后再次添加 nib
- 禁用 NIB 编码器,如 Xcode release notes 中所述
- 正在删除“/var/folders”下包含 DeveloperTools 和我的项目名称的所有内容。
- 使用 Interface Builder 创建新的 NIB 文件和copy/pasting一切
如有任何帮助,我们将不胜感激。
终于找到解决办法:在Finder中打开nib文件,right-click,select“显示包内容”。
删除所有名为 keyedobjects-*.nib
的文件,但保留 keyedobjects.nib
.
构建并运行。