Ios 为什么Swift 3代码是';从未执行过抛出运行时错误?

Ios 为什么Swift 3代码是';从未执行过抛出运行时错误?,ios,swift,swift3,imessage,Ios,Swift,Swift3,Imessage,我一直在使用苹果WWDC视频教程开发iMessage扩展,但遇到了一个奇怪的错误。我从一个空白的项目开始,它构建了一个运行良好的系统。但是,我为我的msstickerbrowservicewcontroller添加了一个文件。代码生成了,但是在模拟器中打开扩展使其崩溃。奇怪的是,我从来没有做过浏览器的实例。为什么没有被执行的代码会崩溃 以下是错误:dyld:Library未加载:@rpath/libswiftSwiftOnoneSupport.dylib 引用自:/Users/alextyshk

我一直在使用苹果WWDC视频教程开发iMessage扩展,但遇到了一个奇怪的错误。我从一个空白的项目开始,它构建了一个运行良好的系统。但是,我为我的
msstickerbrowservicewcontroller
添加了一个文件。代码生成了,但是在模拟器中打开扩展使其崩溃。奇怪的是,我从来没有做过浏览器的实例。为什么没有被执行的代码会崩溃

以下是错误:dyld:Library未加载:@rpath/libswiftSwiftOnoneSupport.dylib 引用自:/Users/alextyshka/Library/Developer/CoreSimulator/Devices/BF34F16D-3CEF-4C7D-8D9A-D3D4B463F293/data/Containers/Bundle/Application/75E2E14B-E76B-4EC7-9528-7CE38864B55D/BlankMessages.app/PlugIns/MessagesExtension.appex/MessagesExtension 原因:找不到图像 以下是触发错误的代码:

import UIKit
import Messages

class MyStickerBrowserViewController: MSStickerBrowserViewController {
    var stickers = [MSSticker]()
    func changeBrowserViewBackgroundColor(color: UIColor) {
        stickerBrowserView.backgroundColor = color
    }
    func loadStickers() {
        createSticker(asset: "forest", localizedDescription: "forest sticker")
    }
    func createSticker(asset: String, localizedDescription: String) {
        guard let stickerPath = Bundle.main().pathForResource(asset, ofType: "png") else {
            print("couldn't create the sticker path for", asset)
            return
        }
        let stickerURL = URL(fileURLWithPath: stickerPath) //This is the line that seems to be causing the error. 
        let sticker: MSSticker
        do {
            try sticker = MSSticker(contentsOfFileURL: stickerURL, localizedDescription: localizedDescription)
            stickers.append(sticker)
            } catch {
                print(error)
            return
        }
    }
    /*
    override func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {

    }

    override func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker {

    }*/
}
我注意到,如果我去掉第16行,它会生成一个URL,错误不会被抛出


是我关注的WWDC视频的链接。我已经仔细检查了一遍,以确保我完全按照视频进行了操作。我重新安装了Xcode,并且它工作正常。奇怪的谢谢大家的建议

您可能希望尝试添加一个异常断点,以查看问题的确切位置,以便更好地了解可能出现的错误。我使用了断点。在
将变为活动状态之前或
viewDidLoad之前,该错误被提前抛出。相关用户在Apple Watch应用程序上有相同的错误,但该解决方案不适用于我。在您的程序开始执行之前,动态链接器(dyld)会查看您的程序所需的外部库并加载它们。如果不能,它将中止执行。这就是为什么仅仅引用另一个库中的代码或数据可能会导致程序失败的原因。有一些工具可以让你看到你的程序需要一个库来做什么(尽管我不知道它们的调用,而且我现在也不在Mac电脑前);我猜你的程序引用了类元数据。谢谢。我正在使用苹果的消息框架。没有第三方,所以这很奇怪。如果有帮助的话,我正在用有问题的代码更新我的帖子