Xcode13.3 不链接故事板
Xcode 13.3 Not Linking Storyboards
我有一个项目在使用 Xcode 13.0 时构建和 运行s 没有问题。但是,如果我关闭 13.0,然后尝试使用 Xcode 13.3 构建和 运行 项目,应用程序将构建,但在启动时立即崩溃并出现以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Main' in bundle NSBundle
我根本没有对项目进行任何更改 - 唯一的更改是用于构建应用程序的 Xcode 版本。在比较 Xcode 两个版本的构建输出时,我注意到 13.3 跳过了“Link Storyboards”步骤。
我尝试过的一些事情包括:
- 正在从 .xcodeproj 中删除故事板文件,然后重新添加它。
- 从项目中删除所有本地化,认为它可能与此有关。然后我尝试重新启用本地化。
- 使用“文件”>“新建”>“文件...”菜单创建全新的故事板。即使是新的
.storyboard
文件也没有链接或添加到项目中。
- 删除并重新添加
.storyboard
文件到 Copy Bundle Resources 构建阶段。
- 将最低部署目标从 iOS 13.0 提高到 14.0
- 将我的源代码从 Git 克隆到新位置并从那里构建。
- Product > Clean Build Folder 并手动删除派生数据文件夹位置的次数多得我数不过来。我正在使用默认的派生数据位置。
(~/Library/Developer/Xcode/DerivedData)
我已经能够通过在构建成功后检查 .app 包来验证情节提要文件未包含在完成的应用程序中。我复制到应用程序的所有其他资源都在那里,但故事板不在。
有没有其他人看到这个问题,如果有,解决了吗?我已经被难住了几天,到目前为止,唯一有用的是回滚到 Xcode 13.0.
已修复。事实证明,几年前,我们的项目中已经定义了 CONFIGURATION_TEMP_DIR
的 User-Defined 构建设置。删除此设置并回退到默认值后,我们的项目 运行 再次没有问题。我不确定为什么最初定义了此设置,但显然 Xcode 13.3 不再喜欢它了。
这条线也影响了我们的另一个项目,它不使用故事板,但有一个 Apple Watch 应用程序。在那种情况下,崩溃是类似的,错误表明找不到 Interface.plist 文件。
我有一个项目在使用 Xcode 13.0 时构建和 运行s 没有问题。但是,如果我关闭 13.0,然后尝试使用 Xcode 13.3 构建和 运行 项目,应用程序将构建,但在启动时立即崩溃并出现以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Main' in bundle NSBundle
我根本没有对项目进行任何更改 - 唯一的更改是用于构建应用程序的 Xcode 版本。在比较 Xcode 两个版本的构建输出时,我注意到 13.3 跳过了“Link Storyboards”步骤。
我尝试过的一些事情包括:
- 正在从 .xcodeproj 中删除故事板文件,然后重新添加它。
- 从项目中删除所有本地化,认为它可能与此有关。然后我尝试重新启用本地化。
- 使用“文件”>“新建”>“文件...”菜单创建全新的故事板。即使是新的
.storyboard
文件也没有链接或添加到项目中。 - 删除并重新添加
.storyboard
文件到 Copy Bundle Resources 构建阶段。 - 将最低部署目标从 iOS 13.0 提高到 14.0
- 将我的源代码从 Git 克隆到新位置并从那里构建。
- Product > Clean Build Folder 并手动删除派生数据文件夹位置的次数多得我数不过来。我正在使用默认的派生数据位置。
(~/Library/Developer/Xcode/DerivedData)
我已经能够通过在构建成功后检查 .app 包来验证情节提要文件未包含在完成的应用程序中。我复制到应用程序的所有其他资源都在那里,但故事板不在。
有没有其他人看到这个问题,如果有,解决了吗?我已经被难住了几天,到目前为止,唯一有用的是回滚到 Xcode 13.0.
已修复。事实证明,几年前,我们的项目中已经定义了 CONFIGURATION_TEMP_DIR
的 User-Defined 构建设置。删除此设置并回退到默认值后,我们的项目 运行 再次没有问题。我不确定为什么最初定义了此设置,但显然 Xcode 13.3 不再喜欢它了。
这条线也影响了我们的另一个项目,它不使用故事板,但有一个 Apple Watch 应用程序。在那种情况下,崩溃是类似的,错误表明找不到 Interface.plist 文件。