Post

Replies

Boosts

Views

Activity

Reply to Can we use Callkit for Apps with WebRTC
CallKit integration Disclaimer: I am not sure if this is the best way doing it but this has worked for me so far: Configure WebRTC audio session to use manual audio and disable audio: RTCAudioSession.sharedInstance().useManualAudio = true RTCAudioSession.sharedInstance().isAudioEnabled = false On your CXProvider delegate's provider(CXProvider, didActivate: AVAudioSession) method: Call RTCAudioSession.sharedInstance().audioSessionDidActivate with the AVAudioSession from the CXProvider Enable audio: RTCAudioSession.sharedInstance().isAudioEnabled = true On your CXProvider delegate's provider(CXProvider, didDeactivate: AVAudioSession) call RTCAudioSession.sharedInstance().audioSessionDidDeactivate with the AVAudioSession from the CXProvider WebRTC and CallKit talk from 2016: https://youtu.be/JB2MdcY1MKs?t=6m23s credit to stasel from WebRTC-iOS
Oct ’21
Reply to CoreBluetooth @ Swift UI
Used like this : import Foundation import CoreBluetooth class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate {     var myCentral: CBCentralManager!     @Published var peripherals = [Peripheral]()          override init() {         super.init()         myCentral = CBCentralManager(delegate: self, queue: nil)         myCentral.delegate = self     }
Aug ’21
Reply to ASAuthorizationAppleIDProviderCredentialRevoked not in NSNotification.Name
I just found it it's called ASAuthorizationAppleIDProvider.credentialRevokedNotification without NSNotification.Name I test the app and it's working 👏😍 this all code I used: import SwiftUI import AuthenticationServices @main struct AppName: App {     @ObservedObject var userAuth: UserAuth = UserAuth()     let pub = NotificationCenter.default         .publisher(for: ASAuthorizationAppleIDProvider.credentialRevokedNotification)     @SceneBuilder var body: some Scene {         WindowGroup {             ContentView()                 .environmentObject(userAuth)                 .onAppear(perform: {                     credentialState()                 })                 .onReceive(pub, perform: { _ in                     credentialState()                 })         }     }     func credentialState() {         let appleIDProvider = ASAuthorizationAppleIDProvider()         appleIDProvider.getCredentialState(forUserID: UserDefaults.standard.string(forKey:"userProfileID") ?? "") { (credentialState, error) in             switch credentialState {             case .authorized:                 // The Apple ID credential is valid.                 userAuth.login()             case .revoked, .notFound:                 // The Apple ID credential is either revoked or was not found.                 userAuth.logOut()                              default:                 break             }         }     } }
Aug ’20