TipView can't show

import SwiftUI
import TipKit

struct ChatRoomView: View {
    @StateObject private var socketManager = SocketIOManager()
    @State private var inputText: String = ""
    @StateObject var viewModel = SignInWithAppleViewModel()
    @Binding var isCall: Bool
    @State private var isSheet = false
    @State private var ShowView = false
    var learnlisttip = KeyTip()
    @Binding var showShareSheet: Bool
    @Binding var codeshar: String
    var body: some View {
        NavigationStack{
            VStack {
                if let roomCode = socketManager.roomCode {
                    ZStack{
                        VStack{
                            HStack{
                                Text("Room Key: \(roomCode)")
                                    .font(.title)
                                    .onAppear{
                                        codeshar = roomCode
                                        self.isCall = true
                                    }
                                Button(action:{
                                    self.showShareSheet = true
                                }, label:{
                                    Image(systemName: "square.and.arrow.up.fill")
                                        .accessibilityLabel("Share")
                                })
                            }
                            .padding(20)
                            TipView(learnlisttip, arrowEdge: .top)
                                .glassBackgroundEffect()
                                .offset(z: 20)
                            Spacer()
                        }
                        List(socketManager.messages, id: \.self) { message in
                            Text(message)
                        }
                        TextField("input", text: $inputText)
                        Button("send") {
                            socketManager.sendMessage(roomCode: roomCode, message: inputText)
                            inputText = ""
                        }
                    }
                    .sheet(isPresented: $showShareSheet) {
                        let shareContent = "Open SpatialCall, Join this Room, Key is: \(codeshar)"
                        ActivityView(activityItems: [shareContent])
                    }
                } else {
                    HStack{
                        Button(action:{
                            withAnimation{
                                socketManager.createRoom()
                            }
                        }, label: {
                            VStack{
                                Image(systemName: "phone.circle.fill")
                                    .symbolRenderingMode(.multicolor)
                                    .symbolEffect(.appear, isActive: !ShowView)
                                    .font(.largeTitle)
                                Text("Add Room")
                                    .font(.title3)
                            }
                        })
                        .buttonStyle(.borderless)
                        .buttonBorderShape(.roundedRectangle)
                        .padding(.horizontal, 30)
                        .glassBackgroundEffect()
                        .offset(z: 20)
                        .scaleEffect(1.5)
                        .padding(60)
                        Button(action:{
                            withAnimation{
                                self.isSheet = true
                            }
                        }, label: {
                            VStack{
                                Image(systemName: "phone.badge.checkmark")
                                    .symbolRenderingMode(.multicolor)
                                    .symbolEffect(.appear, isActive:!ShowView)
                                    .font(.largeTitle)
                                Text("Join Room")
                                    .font(.title3)
                            }
                        })
                        .buttonStyle(.borderless)
                        .buttonBorderShape(.roundedRectangle)
                        .padding(.horizontal, 30)
                        .glassBackgroundEffect()
                        .offset(z: 20)
                        .scaleEffect(1.5)
                        .padding(70)
                    }
                }
            }
            .onAppear {
                DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
                    withAnimation {
                        self.ShowView = true
                    }
                }
            }
            .sheet(isPresented: $isSheet){
                VStack{
                    Text("Join Room")
                        .font(.largeTitle)
                    Text("You need to get the key to the room.")
                    TextField("Key", text: $inputText)
                        .padding(30)
                        .textFieldStyle(.roundedBorder)
                    Button(action:{
                        socketManager.joinRoom(roomCode: inputText)
                        self.isSheet = false
                    }, label: {
                        Text("Join Room")
                            .font(.title3)
                    })
                    .padding(50)
                }
                .padding()
            }
            .sheet(isPresented: $socketManager.showRoomNotFoundAlert) {
                Text("The room does not exist. Please check whether the Key you entered is correct.")
                    .font(.title)
                    .frame(width: 500)
                    .padding()
                Button(action:{
                    self.socketManager.showRoomNotFoundAlert = false
                }, label: {
                    Text("OK")
                        .font(.title3)
                })
                .padding()
            }
        }
    }
}

In the above code (this is a visionOS project), when I click Share, it can't display Sheet normally, and TipView can't be displayed either. Why?

Replies

Do you have a call to Tips.configure somewhere in the app? Without a call to Tips.configure(), no tips will appear. Please see https://developer.apple.com/documentation/tipkit/tips/configure(_:) for more info.