iPhone - 线程 1 EXC_BAD_INSTRUCTION 控制台中未打印任何内容的错误
iPhone - Thread 1 EXC_BAD_INSTRUCTION Error with nothing printed in console
重要编辑:我刚刚意识到,在以前的版本中,应用程序曾经在顶角显示图标,但现在在这个新版本中没有。为什么会这样 资产目录是一样的!!!我认为资产肯定有问题,但我知道不是资产本身。
我有一个应用程序正在抛出线程 1 EXC_BAD_INSTRUCTION(代码 = EXC_I386_INVOP,子代码=0x0),但控制台中根本没有打印任何内容。这是突出显示的代码行:
var examples:[String: UIImage] = ["A": #imageLiteral(resourceName: "b"), "C" : #imageLiteral(resourceName: "d"), "E": #imageLiteral(resourceName: "f"), "G": #imageLiteral(resourceName: "H"), "I": #imageLiteral(resourceName: "j")]
在这里,我只是声明了一个数组,其中包含与 UIImages 对应的字符串。这些 UIImages 位于我的 assets 文件夹中,我仔细检查了它们是否存在于名为 "covers" 的子文件夹中的 assets 文件夹中。此外,当输入他们的名字时,Xcode 会提示他们的名字并显示 uiimage 的样子,所以我知道它确实存在。因此,我不知道问题是什么。
我在该行之前和之后都设置了断点,并且确定它出现在该行上。此外,当我更改图像以显示不在资产文件夹中的 UIImages 时,我在使用资产文件夹中的图像的项目的另一行中遇到了同样的异常(因此可能与资产文件夹有关)。
其他注意事项:没有控制台输出(我在其他地方打印东西,所以我知道控制台正在工作)当它崩溃时,我正在与使用 github 的人合作,并且在我的合作伙伴之前' 最后一次提交(抛出错误的 class 没有任何改变)它起作用了(我不知道它为什么停止工作),我正在使用 Xcode 8 beta 6
这是我看到的一些图片:
当然,除了 (lldb) 和我在应用程序启动时打印的一些内容,控制台中什么也没有。
编辑:我已经重新安装了 Xcode 8 beta 6 并下载了一个非 git 集线器连接版本的应用程序并尝试 运行 它但仍然一无所获。我已经多次清理项目。尝试做一些巧妙的断点操作,但一无所获。
编辑 2:我已经下载 Xcode 8,尝试清除派生数据文件夹,尝试将派生数据文件夹链接到不是我桌面上的那个,而是我本地项目文件中链接到 git 这给了我数百个警告,但仍然没有任何效果。
这花了我很长时间才修复,但问题是资产文件夹已从构建 phases/copy 捆绑资源文件夹中删除。
@computerscience32 的回答的补充:如果您正在构建扩展(例如 iMessage 应用程序),请检查是否正在复制正确的资产。我有同样命名的应用程序和一个 iMessage 应用程序资产,但我没有注意到扩展不包含来自主应用程序的资产。
在我的例子中,图像在文件夹中,但当双击并选择图像时,文件夹未包含在路径中。
我使用随机文本编辑器来包含文件夹名称,因为我无法使用 XCode.
对其进行编辑
重要编辑:我刚刚意识到,在以前的版本中,应用程序曾经在顶角显示图标,但现在在这个新版本中没有。为什么会这样 资产目录是一样的!!!我认为资产肯定有问题,但我知道不是资产本身。
我有一个应用程序正在抛出线程 1 EXC_BAD_INSTRUCTION(代码 = EXC_I386_INVOP,子代码=0x0),但控制台中根本没有打印任何内容。这是突出显示的代码行:
var examples:[String: UIImage] = ["A": #imageLiteral(resourceName: "b"), "C" : #imageLiteral(resourceName: "d"), "E": #imageLiteral(resourceName: "f"), "G": #imageLiteral(resourceName: "H"), "I": #imageLiteral(resourceName: "j")]
在这里,我只是声明了一个数组,其中包含与 UIImages 对应的字符串。这些 UIImages 位于我的 assets 文件夹中,我仔细检查了它们是否存在于名为 "covers" 的子文件夹中的 assets 文件夹中。此外,当输入他们的名字时,Xcode 会提示他们的名字并显示 uiimage 的样子,所以我知道它确实存在。因此,我不知道问题是什么。
我在该行之前和之后都设置了断点,并且确定它出现在该行上。此外,当我更改图像以显示不在资产文件夹中的 UIImages 时,我在使用资产文件夹中的图像的项目的另一行中遇到了同样的异常(因此可能与资产文件夹有关)。
其他注意事项:没有控制台输出(我在其他地方打印东西,所以我知道控制台正在工作)当它崩溃时,我正在与使用 github 的人合作,并且在我的合作伙伴之前' 最后一次提交(抛出错误的 class 没有任何改变)它起作用了(我不知道它为什么停止工作),我正在使用 Xcode 8 beta 6
这是我看到的一些图片:
当然,除了 (lldb) 和我在应用程序启动时打印的一些内容,控制台中什么也没有。
编辑:我已经重新安装了 Xcode 8 beta 6 并下载了一个非 git 集线器连接版本的应用程序并尝试 运行 它但仍然一无所获。我已经多次清理项目。尝试做一些巧妙的断点操作,但一无所获。
编辑 2:我已经下载 Xcode 8,尝试清除派生数据文件夹,尝试将派生数据文件夹链接到不是我桌面上的那个,而是我本地项目文件中链接到 git 这给了我数百个警告,但仍然没有任何效果。
这花了我很长时间才修复,但问题是资产文件夹已从构建 phases/copy 捆绑资源文件夹中删除。
@computerscience32 的回答的补充:如果您正在构建扩展(例如 iMessage 应用程序),请检查是否正在复制正确的资产。我有同样命名的应用程序和一个 iMessage 应用程序资产,但我没有注意到扩展不包含来自主应用程序的资产。
在我的例子中,图像在文件夹中,但当双击并选择图像时,文件夹未包含在路径中。 我使用随机文本编辑器来包含文件夹名称,因为我无法使用 XCode.
对其进行编辑