Xcode 13.2 SwiftUI 预览崩溃
Xcode 13.2 SwiftUI Preview Crashes
我正在 100 Days of SwiftUI on Hacking with Swift 学习 SwiftUI。我的 Xcode SwiftUI Preview 崩溃了,我不知道为什么。 运行 在 Simulator 上工作。我尝试完全重新安装 Xcode(删除应用程序、首选项、库等),但它仍然不起作用。我在 iMac 2019 i9 9900K 64GB RAM 上使用 Xcode 13.2.1。
这是问题的详细信息。 (由于 30000 字的限制,无法包含完整报告)
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 4 Illegal instruction: 4
Terminating Process: exc handler [4180]
Triggered by Thread: 0
Application Specific Information:
CoreSimulator 783.5 - Device: iPod touch (7th generation) (B14B5709-F815-4854-ADB6-E7102668056B) - Runtime: iOS 15.2 (19C51) - DeviceType: iPod touch (7th generation)
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot//System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection DYLD_FRAMEWORK_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot//System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection DYLD_FRAMEWORK_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator
Thread 0 Crashed:: Dispatch queue: BSXPCCnx:com.apple.dt.xcode-previews.systemservices (BSCnx:client:com.apple.dt.uv.agent-preview-nonui-service)
0 SwiftUI 0x7fff5c970f89 static FocusState._makeProperty<A>(in:container:fieldOffset:inputs:) + 160
1 SwiftUI 0x7fff5c97141e protocol witness for static DynamicProperty._makeProperty<A>(in:container:fieldOffset:inputs:) in conformance FocusState<A> + 25
2 SwiftUI 0x7fff5d17717c _DynamicPropertyBuffer.addFields<A>(_:container:inputs:baseOffset:) + 131
3 SwiftUI 0x7fff5d17709a _DynamicPropertyBuffer.init<A>(fields:container:inputs:baseOffset:) + 111
4 SwiftUI 0x7fff5ce5d24c project #1 <A><A1>(flags:) in closure #1 in BodyAccessor.makeBody(container:inputs:fields:) + 413
5 SwiftUI 0x7fff5ce5d0a4 closure #1 in BodyAccessor.makeBody(container:inputs:fields:) + 113
6 SwiftUI 0x7fff5ce5ebf1 partial apply for closure #1 in BodyAccessor.makeBody(container:inputs:fields:) + 54
7 SwiftUI 0x7fff5ce5ec12 partial apply for thunk for @callee_guaranteed (@unowned UnsafeMutablePointer<_GraphInputs>) -> (@out _GraphValue<A.BodyAccessor.Body>, @out _DynamicPropertyBuffer?, @error @owned Error) + 27
8 libswiftCore.dylib 0x7fff3083190c withUnsafePointer<A, B>(to:_:) + 12
9 libswiftCore.dylib 0x7fff309f2259 withUnsafeMutablePointer<A, B>(to:_:) + 9
10 SwiftUI 0x7fff5ce5c68a BodyAccessor.makeBody(container:inputs:fields:) + 286
11 SwiftUI 0x7fff5c94b39e static View.makeBody(view:inputs:fields:) + 160
12 SwiftUI 0x7fff5c94b0f6 static View.makeViewList(view:inputs:) + 342
13 SwiftUI 0x7fff5c94a5f4 static View._makeViewList(view:inputs:) + 104
14 WeSplit 0x102730029 protocol witness for static View._makeViewList(view:inputs:) in conformance ContentView + 9
15 SwiftUI 0x7fff5ce641cb AnyViewStorage.makeViewList(view:inputs:) + 550
16 SwiftUI 0x7fff5ce6526a closure #2 in AnyViewList.updateValue() + 587
17 SwiftUI 0x7fff5ce64e76 AnyViewList.updateValue() + 976
18 SwiftUI 0x7fff5c83af29 partial apply for specialized implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 15
19 AttributeGraph 0x7fff4ff9b37b AG::Graph::UpdateStack::update() + 553
20 AttributeGraph 0x7fff4ff9b971 AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 411
21 AttributeGraph 0x7fff4ffa1656 AG::Graph::value_ref(AG::AttributeID, AGSwiftMetadata const*, unsigned char&) + 128
22 AttributeGraph 0x7fff4ffb877a AGGraphGetValue + 291
23 SwiftUI 0x7fff5c8b67bd TestableViewContent.list.getter + 47
24 SwiftUI 0x7fff5c8b64a6 TestableViewContent.children.getter + 41
25 SwiftUI 0x7fff5c8b61f2 View.withChildrenForTest<A>(environment:options:body:) + 181
26 SwiftUI 0x7fff5cc7de3f View._allPreviews.getter + 88
27 SwiftUI 0x7fff5cc7ddbe MakePreviews.visit<A>(type:) + 128
28 SwiftUI 0x7fff5d1a5afc _callVisitViewType2 + 34
29 SwiftUI 0x7fff5cc7dd18 static _PreviewProvider._allPreviews.getter + 165
30 PreviewsInjection 0x102ae7f6f 0x102ac4000 + 147311
31 PreviewsInjection 0x102ae7ea3 0x102ac4000 + 147107
32 PreviewsInjection 0x102ae04b6 0x102ac4000 + 115894
33 PreviewsInjection 0x102adc85d 0x102ac4000 + 100445
34 PreviewsInjection 0x102adc265 0x102ac4000 + 98917
35 PreviewsInjection 0x102adc519 0x102ac4000 + 99609
36 BoardServices 0x7fff261a2c1c +[BSXPCServiceConnectionProxy invokeMethod:onTarget:withMessage:forConnection:] + 1596
37 BoardServices 0x7fff261b0884 __63-[BSXPCServiceConnectionEventHandler connection:handleMessage:]_block_invoke + 562
38 BoardServices 0x7fff261d9879 BSXPCServiceConnectionExecuteCallOut + 325
39 BoardServices 0x7fff261b04cf -[BSXPCServiceConnectionEventHandler connection:handleMessage:] + 172
40 BoardServices 0x7fff261d8bd7 -[BSXPCServiceConnection _connection_handleMessage:fromPeer:withHandoff:] + 679
41 libdispatch.dylib 0x7fff2011265a _dispatch_call_block_and_release + 12
42 libdispatch.dylib 0x7fff2011383a _dispatch_client_callout + 8
43 libdispatch.dylib 0x7fff20119e0c _dispatch_lane_serial_drain + 743
44 libdispatch.dylib 0x7fff2011aa07 _dispatch_lane_invoke + 455
45 libdispatch.dylib 0x7fff20120ba5 _dispatch_main_queue_callback_4CF + 848
46 CoreFoundation 0x7fff2036c84d __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
47 CoreFoundation 0x7fff203670aa __CFRunLoopRun + 2772
48 CoreFoundation 0x7fff203660f3 CFRunLoopRunSpecific + 567
49 GraphicsServices 0x7fff2c995cd3 GSEventRunModal + 139
50 UIKitCore 0x7fff25059f42 -[UIApplication _run] + 928
51 UIKitCore 0x7fff2505eb5e UIApplicationMain + 101
52 SwiftUI 0x7fff5d0d5dcf closure #1 in KitRendererCommon(_:) + 196
53 SwiftUI 0x7fff5d0d5d09 runApp<A>(_:) + 148
54 SwiftUI 0x7fff5cabdbad static App.main() + 61
55 WeSplit 0x102732a08 static WeSplitApp.$main() + 72 (WeSplitApp.swift:10)
56 WeSplit 0x102732ab3 main + 67
57 dyld_sim 0x102969ee9 start_sim + 10
58 dyld 0x108ced4fe start + 462
Thread 1:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 2:: Dispatch queue: com.apple.root.utility-qos
0 dyld_sim 0x102973a78 bool SwiftHashTable::equal<SwiftTypeProtocolConformanceLocationKey, SwiftTypeProtocolConformanceLocationKey>(SwiftTypeProtocolConformanceLocationKey const&, SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 4
1 dyld_sim 0x102985e3a unsigned int SwiftHashTable::getIndex<SwiftTypeProtocolConformanceLocationKey, SwiftTypeProtocolConformanceLocationKey>(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 126
2 dyld_sim 0x102985d86 unsigned int SwiftHashTable::getPotentialTarget<SwiftTypeProtocolConformanceLocationKey, SwiftTypeProtocolConformanceLocationKey>(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 14
3 dyld_sim 0x102984ebe dyld4::APIs::_dyld_find_protocol_conformance(void const*, void const*, void const*) const + 168
4 libswiftCore.dylib 0x7fff30a40b9f swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool) + 191
5 libswiftCore.dylib 0x7fff30a408ce swift_conformsToProtocol + 78
6 libswiftCore.dylib 0x7fff30a00cea swift::_conformsToProtocol(swift::OpaqueValue const*, swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptorRef<swift::InProcess>, swift::TargetWitnessTable<swift::InProcess> const**) + 42
7 libswiftCore.dylib 0x7fff30a3ff3f swift::_checkGenericRequirements(__swift::__runtime::llvm::ArrayRef<swift::TargetGenericRequirementDescriptor<swift::InProcess> >, __swift::__runtime::llvm::SmallVectorImpl<void const*>&, std::__1::function<swift::TargetMetadata<swift::InProcess> const* (unsigned int, unsigned int)>, std::__1::function<swift::TargetWitnessTable<swift::InProcess> const* (swift::TargetMetadata<swift::InProcess> const*, unsigned int)>) + 1839
8 libswiftCore.dylib 0x7fff30a3f742 swift::TargetProtocolConformanceDescriptor<swift::InProcess>::getWitnessTable(swift::TargetMetadata<swift::InProcess> const*) const + 290
9 libswiftCore.dylib 0x7fff30a41391 swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool) + 2225
10 libswiftCore.dylib 0x7fff30a408ce swift_conformsToProtocol + 78
11 AttributeGraph 0x7fff4ffaa1e8 AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 102
12 AttributeGraph 0x7fff4ff98ea7 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 79
13 AttributeGraph 0x7fff4ff986b8 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 648
14 AttributeGraph 0x7fff4ffaa2a4 AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 290
15 AttributeGraph 0x7fff4ff98ea7 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 79
16 AttributeGraph 0x7fff4ff986b8 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 648
17 AttributeGraph 0x7fff4ffab04b AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 474
18 AttributeGraph 0x7fff4ffac36c AG::(anonymous namespace)::LayoutCache::drain_queue(void*) + 142
19 libdispatch.dylib 0x7fff2011383a _dispatch_client_callout + 8
20 libdispatch.dylib 0x7fff20124077 _dispatch_root_queue_drain + 788
21 libdispatch.dylib 0x7fff20124867 _dispatch_worker_thread2 + 155
22 libsystem_pthread.dylib 0x7fff6da2f02e _pthread_wqthread + 256
23 libsystem_pthread.dylib 0x7fff6da2dffb start_wqthread + 15
Thread 3:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 4:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 5:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 6:: com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x7fff6d9d4aba mach_msg_trap + 10
1 libsystem_kernel.dylib 0x7fff6d9d4e2b mach_msg + 59
2 CoreFoundation 0x7fff2036c440 __CFRunLoopServiceMachPort + 319
3 CoreFoundation 0x7fff20366ae3 __CFRunLoopRun + 1293
4 CoreFoundation 0x7fff203660f3 CFRunLoopRunSpecific + 567
5 Foundation 0x7fff2081c754 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
6 Foundation 0x7fff2081c9cb -[NSRunLoop(NSRunLoop) runUntilDate:] + 72
7 UIKitCore 0x7fff2511a2d1 -[UIEventFetcher threadMain] + 491
8 Foundation 0x7fff20845550 __NSThread__start__ + 1025
9 libsystem_pthread.dylib 0x7fff6da324f4 _pthread_start + 125
10 libsystem_pthread.dylib 0x7fff6da2e00f thread_start + 15
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000002 rbx: 0x0000000000000000 rcx: 0x00007fff4ffc4b50 rdx: 0x0001000000000028
rdi: 0x0000000000000000 rsi: 0x00007fff8b43c050 rbp: 0x00007ff7bd7d2fb0 rsp: 0x00007ff7bd7d2f70
r8: 0x00007fff5d231685 r9: 0x00007fff86bdd330 r10: 0x0000000000000004 r11: 0x0000000000000072
r12: 0x0000000000000002 r13: 0x00007ff7bd7d30a0 r14: 0x0000000000000040 r15: 0x00007fff8a918d88
rip: 0x00007fff5c970f89 rfl: 0x0000000000010246 cr2: 0x00007fff5d2316b7
Logical CPU: 0
Error Code: 0x00000000
Trap Number: 6
Binary Images:
0x7fff5c697000 - 0x7fff5d4f2fff com.apple.SwiftUI (3.2.5.0.100) <c680d16f-a317-3c6e-87fa-141c22a715da> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/SwiftUI.framework/SwiftUI
0x7fff30710000 - 0x7fff30acffff libswiftCore.dylib (*) <6013ecdd-c54d-3948-8b7c-e9f5613107f6> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftCore.dylib
0x102728000 - 0x102733fff me.choo.minsoo.WeSplit (1.0) <d0012a27-d11a-39a0-b4eb-f874af3b5857> /Users/USER/Library/Developer/Xcode/UserData/Previews/Simulator Devices/B14B5709-F815-4854-ADB6-E7102668056B/data/Containers/Bundle/Application/BA738B59-7D89-47AA-8012-6234AA6E65B0/WeSplit.app/WeSplit
0x7fff4ff96000 - 0x7fff4ffcafff com.apple.AttributeGraph (3.2.1) <20c3feeb-4d9b-3501-be47-de9ae60ae297> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
0x102ac4000 - 0x102af5fff com.apple.dt.PreviewsInjection (13.0) <385f7334-89cd-3998-bc1b-54dd898b38ad> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection
0x7fff2619e000 - 0x7fff261edfff com.apple.BoardServices (1.0) <d4742ff1-1051-348e-afb4-dcb3bc434c50> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/BoardServices.framework/BoardServices
0x7fff20110000 - 0x7fff20157fff libdispatch.dylib (*) <20999e62-bcc2-377e-8ce7-afda271eb914> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libdispatch.dylib
0x7fff202ec000 - 0x7fff2068bfff com.apple.CoreFoundation (6.9) <c6308add-135b-3a70-9b81-1ce4d994c215> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x7fff2c992000 - 0x7fff2c99afff com.apple.GraphicsServices (1.0) <adea8ae1-c723-351b-ac2e-22fd2c861c30> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x7fff2438c000 - 0x7fff25934fff com.apple.UIKitCore (1.0) <3ef2c381-8193-3e3c-801f-925bd1050bd7> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x102968000 - 0x1029b5fff dyld_sim (*) <3f15c197-2d43-3490-98ff-de85f18dadf2> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim
0x108ce8000 - 0x108d53fff dyld (*) <7de33963-bbc5-3996-ba6e-f1d562c17c95> /usr/lib/dyld
0x7fff6da2c000 - 0x7fff6da37fff libsystem_pthread.dylib (*) <ee564342-d8f2-396d-b642-40092cf34d82> /usr/lib/system/libsystem_pthread.dylib
0x7fff6d9d4000 - 0x7fff6da0afff libsystem_kernel.dylib (*) <c1d58a50-5a4d-3bcb-a1fc-ec0902ce34d3> /usr/lib/system/libsystem_kernel.dylib
0x7fff206fa000 - 0x7fff209b0fff com.apple.Foundation (6.9) <61dcc68e-1236-3624-bb6d-a3a850adf63a> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Foundation.framework/Foundation
EOF
以及诊断:
MessageSendFailure: Message send failure for update
==================================
| MessageError: Connection interrupted
代码:
ContentView.swift
import SwiftUI
struct ContentView: View {
@State private var checkAmount = 0.0
@State private var numberOfPeople = 2
@State private var tipPercentage = 20
let tipPercentages = 0..<101
var totalPerPerson: Double {
let peopleCount = Double(numberOfPeople + 2)
let tipSelection = Double(tipPercentage)
let tipValue = checkAmount / 100 * tipSelection
let grandTotal = checkAmount + tipValue
let amountPerPerson = grandTotal / peopleCount
return amountPerPerson
}
var total: Double {
checkAmount + checkAmount / 100 * Double(tipPercentage)
}
@FocusState private var amountIsFocused: Bool
var body: some View {
NavigationView {
Form {
Section {
TextField("Amount", value: $checkAmount, format: .currency(code: Locale.current.currencyCode ?? "USD"))
.keyboardType(.decimalPad)
.focused($amountIsFocused)
Picker("Number of People", selection: $numberOfPeople) {
ForEach(2..<100) {
Text("\([=13=]) people")
}
}
}
Section {
Picker("Tip Percentage", selection: $tipPercentage) {
ForEach(tipPercentages, id: \.self) {
Text([=13=], format: .percent)
}
}
} header: {
Text("How much tip do you want to leave?")
}
Section {
Text(totalPerPerson, format: .currency(code: Locale.current.currencyCode ?? "USD"))
} header: {
Text("Amount per person")
}
Section {
Text(total, format: .currency(code: Locale.current.currencyCode ?? "USD"))
}
}
.navigationTitle("WeSplit")
}
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Done") {
amountIsFocused = false
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
WeSplitApp.swift
import SwiftUI
@main
struct WeSplitApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
通过在预览结构中添加 ZStack 解决了它。这可能是一个错误。
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ZStack {
ContentView()
}
}
}
我正在 100 Days of SwiftUI on Hacking with Swift 学习 SwiftUI。我的 Xcode SwiftUI Preview 崩溃了,我不知道为什么。 运行 在 Simulator 上工作。我尝试完全重新安装 Xcode(删除应用程序、首选项、库等),但它仍然不起作用。我在 iMac 2019 i9 9900K 64GB RAM 上使用 Xcode 13.2.1。
这是问题的详细信息。 (由于 30000 字的限制,无法包含完整报告)
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 4 Illegal instruction: 4
Terminating Process: exc handler [4180]
Triggered by Thread: 0
Application Specific Information:
CoreSimulator 783.5 - Device: iPod touch (7th generation) (B14B5709-F815-4854-ADB6-E7102668056B) - Runtime: iOS 15.2 (19C51) - DeviceType: iPod touch (7th generation)
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot//System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection DYLD_FRAMEWORK_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot//System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection DYLD_FRAMEWORK_PATH=/Users/minsoochoo/Library/Developer/Xcode/DerivedData/WeSplit-ctmzuorhwkvroxgikiijvbbbfwyq/Build/Intermediates.noindex/Previews/WeSplit/Products/Debug-iphonesimulator
Thread 0 Crashed:: Dispatch queue: BSXPCCnx:com.apple.dt.xcode-previews.systemservices (BSCnx:client:com.apple.dt.uv.agent-preview-nonui-service)
0 SwiftUI 0x7fff5c970f89 static FocusState._makeProperty<A>(in:container:fieldOffset:inputs:) + 160
1 SwiftUI 0x7fff5c97141e protocol witness for static DynamicProperty._makeProperty<A>(in:container:fieldOffset:inputs:) in conformance FocusState<A> + 25
2 SwiftUI 0x7fff5d17717c _DynamicPropertyBuffer.addFields<A>(_:container:inputs:baseOffset:) + 131
3 SwiftUI 0x7fff5d17709a _DynamicPropertyBuffer.init<A>(fields:container:inputs:baseOffset:) + 111
4 SwiftUI 0x7fff5ce5d24c project #1 <A><A1>(flags:) in closure #1 in BodyAccessor.makeBody(container:inputs:fields:) + 413
5 SwiftUI 0x7fff5ce5d0a4 closure #1 in BodyAccessor.makeBody(container:inputs:fields:) + 113
6 SwiftUI 0x7fff5ce5ebf1 partial apply for closure #1 in BodyAccessor.makeBody(container:inputs:fields:) + 54
7 SwiftUI 0x7fff5ce5ec12 partial apply for thunk for @callee_guaranteed (@unowned UnsafeMutablePointer<_GraphInputs>) -> (@out _GraphValue<A.BodyAccessor.Body>, @out _DynamicPropertyBuffer?, @error @owned Error) + 27
8 libswiftCore.dylib 0x7fff3083190c withUnsafePointer<A, B>(to:_:) + 12
9 libswiftCore.dylib 0x7fff309f2259 withUnsafeMutablePointer<A, B>(to:_:) + 9
10 SwiftUI 0x7fff5ce5c68a BodyAccessor.makeBody(container:inputs:fields:) + 286
11 SwiftUI 0x7fff5c94b39e static View.makeBody(view:inputs:fields:) + 160
12 SwiftUI 0x7fff5c94b0f6 static View.makeViewList(view:inputs:) + 342
13 SwiftUI 0x7fff5c94a5f4 static View._makeViewList(view:inputs:) + 104
14 WeSplit 0x102730029 protocol witness for static View._makeViewList(view:inputs:) in conformance ContentView + 9
15 SwiftUI 0x7fff5ce641cb AnyViewStorage.makeViewList(view:inputs:) + 550
16 SwiftUI 0x7fff5ce6526a closure #2 in AnyViewList.updateValue() + 587
17 SwiftUI 0x7fff5ce64e76 AnyViewList.updateValue() + 976
18 SwiftUI 0x7fff5c83af29 partial apply for specialized implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 15
19 AttributeGraph 0x7fff4ff9b37b AG::Graph::UpdateStack::update() + 553
20 AttributeGraph 0x7fff4ff9b971 AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 411
21 AttributeGraph 0x7fff4ffa1656 AG::Graph::value_ref(AG::AttributeID, AGSwiftMetadata const*, unsigned char&) + 128
22 AttributeGraph 0x7fff4ffb877a AGGraphGetValue + 291
23 SwiftUI 0x7fff5c8b67bd TestableViewContent.list.getter + 47
24 SwiftUI 0x7fff5c8b64a6 TestableViewContent.children.getter + 41
25 SwiftUI 0x7fff5c8b61f2 View.withChildrenForTest<A>(environment:options:body:) + 181
26 SwiftUI 0x7fff5cc7de3f View._allPreviews.getter + 88
27 SwiftUI 0x7fff5cc7ddbe MakePreviews.visit<A>(type:) + 128
28 SwiftUI 0x7fff5d1a5afc _callVisitViewType2 + 34
29 SwiftUI 0x7fff5cc7dd18 static _PreviewProvider._allPreviews.getter + 165
30 PreviewsInjection 0x102ae7f6f 0x102ac4000 + 147311
31 PreviewsInjection 0x102ae7ea3 0x102ac4000 + 147107
32 PreviewsInjection 0x102ae04b6 0x102ac4000 + 115894
33 PreviewsInjection 0x102adc85d 0x102ac4000 + 100445
34 PreviewsInjection 0x102adc265 0x102ac4000 + 98917
35 PreviewsInjection 0x102adc519 0x102ac4000 + 99609
36 BoardServices 0x7fff261a2c1c +[BSXPCServiceConnectionProxy invokeMethod:onTarget:withMessage:forConnection:] + 1596
37 BoardServices 0x7fff261b0884 __63-[BSXPCServiceConnectionEventHandler connection:handleMessage:]_block_invoke + 562
38 BoardServices 0x7fff261d9879 BSXPCServiceConnectionExecuteCallOut + 325
39 BoardServices 0x7fff261b04cf -[BSXPCServiceConnectionEventHandler connection:handleMessage:] + 172
40 BoardServices 0x7fff261d8bd7 -[BSXPCServiceConnection _connection_handleMessage:fromPeer:withHandoff:] + 679
41 libdispatch.dylib 0x7fff2011265a _dispatch_call_block_and_release + 12
42 libdispatch.dylib 0x7fff2011383a _dispatch_client_callout + 8
43 libdispatch.dylib 0x7fff20119e0c _dispatch_lane_serial_drain + 743
44 libdispatch.dylib 0x7fff2011aa07 _dispatch_lane_invoke + 455
45 libdispatch.dylib 0x7fff20120ba5 _dispatch_main_queue_callback_4CF + 848
46 CoreFoundation 0x7fff2036c84d __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
47 CoreFoundation 0x7fff203670aa __CFRunLoopRun + 2772
48 CoreFoundation 0x7fff203660f3 CFRunLoopRunSpecific + 567
49 GraphicsServices 0x7fff2c995cd3 GSEventRunModal + 139
50 UIKitCore 0x7fff25059f42 -[UIApplication _run] + 928
51 UIKitCore 0x7fff2505eb5e UIApplicationMain + 101
52 SwiftUI 0x7fff5d0d5dcf closure #1 in KitRendererCommon(_:) + 196
53 SwiftUI 0x7fff5d0d5d09 runApp<A>(_:) + 148
54 SwiftUI 0x7fff5cabdbad static App.main() + 61
55 WeSplit 0x102732a08 static WeSplitApp.$main() + 72 (WeSplitApp.swift:10)
56 WeSplit 0x102732ab3 main + 67
57 dyld_sim 0x102969ee9 start_sim + 10
58 dyld 0x108ced4fe start + 462
Thread 1:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 2:: Dispatch queue: com.apple.root.utility-qos
0 dyld_sim 0x102973a78 bool SwiftHashTable::equal<SwiftTypeProtocolConformanceLocationKey, SwiftTypeProtocolConformanceLocationKey>(SwiftTypeProtocolConformanceLocationKey const&, SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 4
1 dyld_sim 0x102985e3a unsigned int SwiftHashTable::getIndex<SwiftTypeProtocolConformanceLocationKey, SwiftTypeProtocolConformanceLocationKey>(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 126
2 dyld_sim 0x102985d86 unsigned int SwiftHashTable::getPotentialTarget<SwiftTypeProtocolConformanceLocationKey, SwiftTypeProtocolConformanceLocationKey>(SwiftTypeProtocolConformanceLocationKey const&, unsigned char const*) const + 14
3 dyld_sim 0x102984ebe dyld4::APIs::_dyld_find_protocol_conformance(void const*, void const*, void const*) const + 168
4 libswiftCore.dylib 0x7fff30a40b9f swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool) + 191
5 libswiftCore.dylib 0x7fff30a408ce swift_conformsToProtocol + 78
6 libswiftCore.dylib 0x7fff30a00cea swift::_conformsToProtocol(swift::OpaqueValue const*, swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptorRef<swift::InProcess>, swift::TargetWitnessTable<swift::InProcess> const**) + 42
7 libswiftCore.dylib 0x7fff30a3ff3f swift::_checkGenericRequirements(__swift::__runtime::llvm::ArrayRef<swift::TargetGenericRequirementDescriptor<swift::InProcess> >, __swift::__runtime::llvm::SmallVectorImpl<void const*>&, std::__1::function<swift::TargetMetadata<swift::InProcess> const* (unsigned int, unsigned int)>, std::__1::function<swift::TargetWitnessTable<swift::InProcess> const* (swift::TargetMetadata<swift::InProcess> const*, unsigned int)>) + 1839
8 libswiftCore.dylib 0x7fff30a3f742 swift::TargetProtocolConformanceDescriptor<swift::InProcess>::getWitnessTable(swift::TargetMetadata<swift::InProcess> const*) const + 290
9 libswiftCore.dylib 0x7fff30a41391 swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool) + 2225
10 libswiftCore.dylib 0x7fff30a408ce swift_conformsToProtocol + 78
11 AttributeGraph 0x7fff4ffaa1e8 AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 102
12 AttributeGraph 0x7fff4ff98ea7 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 79
13 AttributeGraph 0x7fff4ff986b8 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 648
14 AttributeGraph 0x7fff4ffaa2a4 AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 290
15 AttributeGraph 0x7fff4ff98ea7 AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 79
16 AttributeGraph 0x7fff4ff986b8 AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 648
17 AttributeGraph 0x7fff4ffab04b AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 474
18 AttributeGraph 0x7fff4ffac36c AG::(anonymous namespace)::LayoutCache::drain_queue(void*) + 142
19 libdispatch.dylib 0x7fff2011383a _dispatch_client_callout + 8
20 libdispatch.dylib 0x7fff20124077 _dispatch_root_queue_drain + 788
21 libdispatch.dylib 0x7fff20124867 _dispatch_worker_thread2 + 155
22 libsystem_pthread.dylib 0x7fff6da2f02e _pthread_wqthread + 256
23 libsystem_pthread.dylib 0x7fff6da2dffb start_wqthread + 15
Thread 3:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 4:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 5:
0 libsystem_pthread.dylib 0x7fff6da2dfec start_wqthread + 0
Thread 6:: com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x7fff6d9d4aba mach_msg_trap + 10
1 libsystem_kernel.dylib 0x7fff6d9d4e2b mach_msg + 59
2 CoreFoundation 0x7fff2036c440 __CFRunLoopServiceMachPort + 319
3 CoreFoundation 0x7fff20366ae3 __CFRunLoopRun + 1293
4 CoreFoundation 0x7fff203660f3 CFRunLoopRunSpecific + 567
5 Foundation 0x7fff2081c754 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
6 Foundation 0x7fff2081c9cb -[NSRunLoop(NSRunLoop) runUntilDate:] + 72
7 UIKitCore 0x7fff2511a2d1 -[UIEventFetcher threadMain] + 491
8 Foundation 0x7fff20845550 __NSThread__start__ + 1025
9 libsystem_pthread.dylib 0x7fff6da324f4 _pthread_start + 125
10 libsystem_pthread.dylib 0x7fff6da2e00f thread_start + 15
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000002 rbx: 0x0000000000000000 rcx: 0x00007fff4ffc4b50 rdx: 0x0001000000000028
rdi: 0x0000000000000000 rsi: 0x00007fff8b43c050 rbp: 0x00007ff7bd7d2fb0 rsp: 0x00007ff7bd7d2f70
r8: 0x00007fff5d231685 r9: 0x00007fff86bdd330 r10: 0x0000000000000004 r11: 0x0000000000000072
r12: 0x0000000000000002 r13: 0x00007ff7bd7d30a0 r14: 0x0000000000000040 r15: 0x00007fff8a918d88
rip: 0x00007fff5c970f89 rfl: 0x0000000000010246 cr2: 0x00007fff5d2316b7
Logical CPU: 0
Error Code: 0x00000000
Trap Number: 6
Binary Images:
0x7fff5c697000 - 0x7fff5d4f2fff com.apple.SwiftUI (3.2.5.0.100) <c680d16f-a317-3c6e-87fa-141c22a715da> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/SwiftUI.framework/SwiftUI
0x7fff30710000 - 0x7fff30acffff libswiftCore.dylib (*) <6013ecdd-c54d-3948-8b7c-e9f5613107f6> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftCore.dylib
0x102728000 - 0x102733fff me.choo.minsoo.WeSplit (1.0) <d0012a27-d11a-39a0-b4eb-f874af3b5857> /Users/USER/Library/Developer/Xcode/UserData/Previews/Simulator Devices/B14B5709-F815-4854-ADB6-E7102668056B/data/Containers/Bundle/Application/BA738B59-7D89-47AA-8012-6234AA6E65B0/WeSplit.app/WeSplit
0x7fff4ff96000 - 0x7fff4ffcafff com.apple.AttributeGraph (3.2.1) <20c3feeb-4d9b-3501-be47-de9ae60ae297> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
0x102ac4000 - 0x102af5fff com.apple.dt.PreviewsInjection (13.0) <385f7334-89cd-3998-bc1b-54dd898b38ad> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/PreviewsInjection.framework/PreviewsInjection
0x7fff2619e000 - 0x7fff261edfff com.apple.BoardServices (1.0) <d4742ff1-1051-348e-afb4-dcb3bc434c50> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/BoardServices.framework/BoardServices
0x7fff20110000 - 0x7fff20157fff libdispatch.dylib (*) <20999e62-bcc2-377e-8ce7-afda271eb914> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libdispatch.dylib
0x7fff202ec000 - 0x7fff2068bfff com.apple.CoreFoundation (6.9) <c6308add-135b-3a70-9b81-1ce4d994c215> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x7fff2c992000 - 0x7fff2c99afff com.apple.GraphicsServices (1.0) <adea8ae1-c723-351b-ac2e-22fd2c861c30> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x7fff2438c000 - 0x7fff25934fff com.apple.UIKitCore (1.0) <3ef2c381-8193-3e3c-801f-925bd1050bd7> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x102968000 - 0x1029b5fff dyld_sim (*) <3f15c197-2d43-3490-98ff-de85f18dadf2> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim
0x108ce8000 - 0x108d53fff dyld (*) <7de33963-bbc5-3996-ba6e-f1d562c17c95> /usr/lib/dyld
0x7fff6da2c000 - 0x7fff6da37fff libsystem_pthread.dylib (*) <ee564342-d8f2-396d-b642-40092cf34d82> /usr/lib/system/libsystem_pthread.dylib
0x7fff6d9d4000 - 0x7fff6da0afff libsystem_kernel.dylib (*) <c1d58a50-5a4d-3bcb-a1fc-ec0902ce34d3> /usr/lib/system/libsystem_kernel.dylib
0x7fff206fa000 - 0x7fff209b0fff com.apple.Foundation (6.9) <61dcc68e-1236-3624-bb6d-a3a850adf63a> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Foundation.framework/Foundation
EOF
以及诊断:
MessageSendFailure: Message send failure for update
==================================
| MessageError: Connection interrupted
代码:
ContentView.swift
import SwiftUI
struct ContentView: View {
@State private var checkAmount = 0.0
@State private var numberOfPeople = 2
@State private var tipPercentage = 20
let tipPercentages = 0..<101
var totalPerPerson: Double {
let peopleCount = Double(numberOfPeople + 2)
let tipSelection = Double(tipPercentage)
let tipValue = checkAmount / 100 * tipSelection
let grandTotal = checkAmount + tipValue
let amountPerPerson = grandTotal / peopleCount
return amountPerPerson
}
var total: Double {
checkAmount + checkAmount / 100 * Double(tipPercentage)
}
@FocusState private var amountIsFocused: Bool
var body: some View {
NavigationView {
Form {
Section {
TextField("Amount", value: $checkAmount, format: .currency(code: Locale.current.currencyCode ?? "USD"))
.keyboardType(.decimalPad)
.focused($amountIsFocused)
Picker("Number of People", selection: $numberOfPeople) {
ForEach(2..<100) {
Text("\([=13=]) people")
}
}
}
Section {
Picker("Tip Percentage", selection: $tipPercentage) {
ForEach(tipPercentages, id: \.self) {
Text([=13=], format: .percent)
}
}
} header: {
Text("How much tip do you want to leave?")
}
Section {
Text(totalPerPerson, format: .currency(code: Locale.current.currencyCode ?? "USD"))
} header: {
Text("Amount per person")
}
Section {
Text(total, format: .currency(code: Locale.current.currencyCode ?? "USD"))
}
}
.navigationTitle("WeSplit")
}
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Done") {
amountIsFocused = false
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
WeSplitApp.swift
import SwiftUI
@main
struct WeSplitApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
通过在预览结构中添加 ZStack 解决了它。这可能是一个错误。
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ZStack {
ContentView()
}
}
}