这是我收到的错误:
runtime: SwiftUI: No image named '' found in asset catalog for main bundle (/Users/yun/Library/Developer/CoreSimulator/Devices/623B1BB3-5C34-4311-AA41-86C42FE27439/data/Containers/Bundle/Application/8E87B349-36CA-41B8-A34C-02BBB2F00472/Travel.app)
Run Code Online (Sandbox Code Playgroud)
该图像没有名称,只有'',所以我找不到错误的原因。
// AppDelegate.swift <br>
class AppDelegate: UIResponder, UIApplicationDelegate { <-- this is the break point...
Run Code Online (Sandbox Code Playgroud)
您收到的错误意味着您在代码中的某个位置正在启动Image("some name")并传入空字符串“”。
尝试在 Xcode 中搜索Image(,看看是否有任何图像视图,默认值为空。
另外,如果您确实想调试这个问题,并在可能的数千行代码中找到丢失的图像名称,您可以尝试这个漂亮的扩展:
#if DEBUG
extension Image {
init(_ str: String) {
guard let img = UIImage(named: str) else {
print(str)
fatalError("found an image that doesn't exist, see: /sf/answers/4410439491/")
}
self.init(uiImage: img)
}
init(systemName sys: String) {
guard let img = UIImage(systemName: sys) else {
print(sys)
fatalError("found an image that doesn't exist, see: /sf/answers/4410439491/")
}
self.init(uiImage: img)
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
当它发现丢失的图像时,它会强制崩溃,您可以直接导航到导致崩溃的代码行:
或者,您可以轻松修改上述扩展,为所有空图像提供默认值:
extension Image {
init(_ str: String) {
self.init(uiImage:
UIImage(named: str) ?? UIImage(named: "Some default image")!
)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4409 次 |
| 最近记录: |